Итак, у меня эта рабочая тетрадь содержит несколько рабочих листов.
В Sheet22 есть база данных, и мне нужно извлечь уникальные значения из одного из ее столбцов, которым является столбец «B C» (или столбец 55). вот чтобы проиллюстрировать уникальные значения, которые я хочу извлечь:
столбец, из которого я хочу извлечь уникальные значения
Мне нужно извлечь уникальные значения на другой рабочий лист (лист 32), начиная с диапазона A1. Но перед этим мне нужно сначала очистить целевой диапазон, если он не пустой, а затем вставить уникальные значения.
, так что это коды, которые я использовал, (ну, я, все еще новичок в VBA, поэтому я обнаружил, что этот код наиболее близок к тому, что я задумал, и изменил его):
Option Explicit
Sub uniqueValuesFromRangeCustomer()
Dim rngCollectFrom As Range, targetRange As Range
Dim lastRow As Long
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Sheet22")
'Set the target range where the unique values will be copied to
Set targetRange = Sheets("Sheet32").Range("A1")
'Clear the target range if it is not empty
If targetRange <> vbNullString Then
'Find last row in target range column
lastRow = Sheets("Sheet32").Columns(targetRange.Column).Find("*", , , , xlByRows, xlPrevious).Row
'Delete target range
Sheets("Sheet32").Range(targetRange, Cells(lastRow, targetRange.Column)).Delete xlUp
'Reset target range (since it gets deleted)
Set targetRange = Sheets("Sheet32").Range("A1")
End If
'Define the range the unique values will be extracted from
'Find last row
lastRow = Sheets("Sheet22").Columns(55).Find("*", , , , xlByRows, xlPrevious).Row
'Set the source range
Set rngCollectFrom = Sheets("Sheet22").Range(Cells(2, 55), Cells(lastRow, 55))
'Use Advanced Filter
rngCollectFrom.AdvancedFilter Action:=xlFilterCopy, copytorange:=targetRange, unique:=True
Когда я запускаю код, я получаю сообщение об ошибке: «Индекс вне допустимого диапазона ", и когда я отлаживаю, он выделяет код:
Set sh: ThisWorkbook.Sheets("Sheet22")
Я до сих пор не понимаю, как изменить этот код, чтобы он работал, пожалуйста, кто-нибудь может помочь мне с этой проблемой. Спасибо!