ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   checking variances in cells (https://www.excelbanter.com/excel-programming/312635-checking-variances-cells.html)

koala[_9_]

checking variances in cells
 

Is anyone able to assist with the following.

I have numerous spreadsheets in a workbook. (the amount always varies
but usually between 40 and 50)

I need to check the contents of B2 against D2, B3 against D3 and s
down to B57 against D57. (for each of the sheets in the workbook). Not
Column B & D are “text”, and case does not matter, only content.

I then require a report (on another sheet called “variance report”
that lists only those cells that differ:

When there is a difference, the report needs to show:

Sheet Name
Column A Value (Date)
Column B Value
Column D Value

I can post a small sample if needed.

Hoping someone is able to assist me with this assignment

Thanks in advance

Regards
Koal

--
koal
-----------------------------------------------------------------------
koala's Profile: http://www.excelforum.com/member.php...fo&userid=1295
View this thread: http://www.excelforum.com/showthread.php?threadid=26679


Tom Ogilvy

checking variances in cells
 
Sub GenReport()
Dim sh As Worksheet, sh1 As Worksheet
Dim bFirst As Boolean
Dim rw As Long
Worksheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Variance Report"
Set sh1 = ActiveSheet
rw = 1
For Each sh In Worksheets
If sh.Name < sh1.Name Then
bFirst = True
For Each cell In sh.Range("B2:B57")
If LCase(cell.Value) < LCase(cell.Offset(0, 2).Value) Then
If bFirst Then
sh1.Cells(rw, 1).Value = sh.Name
bFirst = False
rw = rw + 1
End If
cell.Offset(0, -1).Range("A1:B1,D1").Copy sh1.Cells(rw, 1)
rw = rw + 1
End If
Next
End If
Next
End Sub

--
Regards,
Tom Ogilvy


"koala" wrote in message
...

Is anyone able to assist with the following.

I have numerous spreadsheets in a workbook. (the amount always varies,
but usually between 40 and 50)

I need to check the contents of B2 against D2, B3 against D3 and so
down to B57 against D57. (for each of the sheets in the workbook). Note
Column B & D are "text", and case does not matter, only content.

I then require a report (on another sheet called "variance report")
that lists only those cells that differ:

When there is a difference, the report needs to show:

Sheet Name
Column A Value (Date)
Column B Value
Column D Value

I can post a small sample if needed.

Hoping someone is able to assist me with this assignment

Thanks in advance

Regards
Koala


--
koala
------------------------------------------------------------------------
koala's Profile:

http://www.excelforum.com/member.php...o&userid=12953
View this thread: http://www.excelforum.com/showthread...hreadid=266797




No Name

checking variances in cells
 
Here is a Sub that I think will do it (modify as needed)...

Sub Variances()

Dim CheckSheet As Worksheet, CheckRow As Integer
Dim RowCounter As Integer

RowCounter = 1

For Each CheckSheet In ThisWorkbook.Worksheets

With CheckSheet

If .Name < "variance report" Then

For CheckRow = 2 To 57

If UCase(.Range("B" & CheckRow).Value) < UCase
(.Range("D" & CheckRow).Value) Then

Sheets("variance report").Range("A" &
RowCounter) = .Name
Sheets("variance report").Range("A" &
RowCounter + 1) = .Range("A" & CheckRow).Value
Sheets("variance report").Range("A" &
RowCounter + 2) = .Range("B" & CheckRow).Value
Sheets("variance report").Range("A" &
RowCounter + 3) = .Range("D" & CheckRow).Value
RowCounter = RowCounter + 4

End If

Next CheckRow

End If

End With

Next CheckSheet

End Sub

-----Original Message-----

Is anyone able to assist with the following.

I have numerous spreadsheets in a workbook. (the amount

always varies,
but usually between 40 and 50)

I need to check the contents of B2 against D2, B3 against

D3 and so
down to B57 against D57. (for each of the sheets in the

workbook). Note
Column B & D are "text", and case does not matter, only

content.

I then require a report (on another sheet

called "variance report")
that lists only those cells that differ:

When there is a difference, the report needs to show:

Sheet Name
Column A Value (Date)
Column B Value
Column D Value

I can post a small sample if needed.

Hoping someone is able to assist me with this assignment

Thanks in advance

Regards
Koala


--
koala
----------------------------------------------------------

--------------
koala's Profile: http://www.excelforum.com/member.php?

action=getinfo&userid=12953
View this thread:

http://www.excelforum.com/showthread...hreadid=266797

.


keepITcool

checking variances in cells
 
Adapt following to your needs...

Hopefully you understand the referencing...
rng() is defined as an array of ranges.

rng(0) is the row for the report.
rng(1) is used for the first range in each sheet
rng(2) is used for the second.

rng(1)(irow,1) is a short notation for: rng(1).Cells(irow,1)


I've added hyperlinks for simple navigation.




Sub VarianceGenerator()
Const shName = "Index"
Const r1Addr = "B2:B57"
Const r2Addr = "D2:D57"

Dim wksRep As Worksheet
Dim rng(2) As Range
Dim iWks&, iRow&, iVar&

On Error Resume Next
Set wksRep = Worksheets(shName)
On Error GoTo 0
If wksRep Is Nothing Then
Set wksRep = Worksheets.Add(befo=1)
wksRep.Name = shName
End If

With wksRep
'Make sure the report is the first worksheet
If .Index < 1 Then .Move befo=1

.UsedRange.Clear
.Cells(1, 1) = "Variance Report"
.Cells(2, 1) = "'" & Now
Set rng(0) = .Cells(4, 1).Resize(1, 3)
rng(0) = Array("Hyperlink", "Value A", "Value B")
End With

'Test that the constants are set properly
Debug.Assert Range(r1Addr).Columns.Count = 1 And _
Range(r2Addr).Columns.Count = 1 And _
Range(r1Addr).Rows.Count = Range(r2Addr).Rows.Count

'Walk the sheets
For iWks = 2 To Worksheets.Count
Set rng(1) = Worksheets(iWks).Range(r1Addr)
Set rng(2) = Worksheets(iWks).Range(r2Addr)
'Walk the rows of the ranges
For iRow = 1 To rng(1).Rows.Count
If StrComp(rng(1)(iRow, 1), rng(2)(iRow, 1), vbTextCompare) Then
iVar = iVar + 1
With rng(0).Offset(iVar)
.Value = Array(, rng(1)(iRow, 1), rng(2)(iRow, 1))
.Cells(1, 1).Formula = _
"=HYPERLINK(""#" & Worksheets(iWks).Name & "!" & _
rng(1)(iRow, 1).Address(0, 0) & """)"
End With

End If
Next
Next

End Sub




keepITcool

< email : keepitcool chello nl (with @ and .)
< homepage: http://members.chello.nl/keepitcool


koala wrote:


Is anyone able to assist with the following.

I have numerous spreadsheets in a workbook. (the amount always varies,
but usually between 40 and 50)

I need to check the contents of B2 against D2, B3 against D3 and so
down to B57 against D57. (for each of the sheets in the workbook). Note
Column B & D are “text”, and case does not matter, only content.

I then require a report (on another sheet called “variance report”)
that lists only those cells that differ:

When there is a difference, the report needs to show:

Sheet Name
Column A Value (Date)
Column B Value
Column D Value

I can post a small sample if needed.

Hoping someone is able to assist me with this assignment

Thanks in advance

Regards
Koala





All times are GMT +1. The time now is 02:06 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com