Option
Explicit
Public
Sub
Test()
Dim
wksAudit
As
Excel.Worksheet
Dim
rngCellA
As
Excel.Range
Dim
wks
As
Excel.Worksheet
Dim
rngCell
As
Excel.Range
Set
wksAudit = ThisWorkbook.Worksheets(
"Audit"
)
For
Each
rngCellA
In
wksAudit.Range(wksAudit.Range(
"C2"
), wksAudit.Cells(wksAudit.Rows.Count,
"C"
).
End
(xlUp)).Cells
If
WorksheetExists(rngCellA.Value, ThisWorkbook)
Then
Set
wks = ThisWorkbook.Worksheets(rngCellA.Text)
Set
rngCell = wks.Cells(wks.Rows.Count,
"A"
).
End
(xlUp)
If
rngCell.Row < 33
Then
Set
rngCell = wks.Range(
"A33"
)
Else
Set
rngCell = rngCell.Offset(RowOffset:=1)
End
If
rngCell.Value = wksAudit.Cells(rngCellA.Row,
"I"
).Value
End
If
Next
End
Sub
Public
Function
WorksheetExists(Name
As
String
,
Optional
ByVal
Workbook
As
Excel.Workbook)
As
Boolean
On
Error
Resume
Next
If
Workbook
Is
Nothing
Then
Set
Workbook = ActiveWorkbook
WorksheetExists =
Not
(Workbook.Worksheets(Name)
Is
Nothing
)
End
Function