В столбце L (только) я хочу заменить любой экземпляр данных на «True» независимо от того, что было изначально в любой из ячеек столбца L. Код, который я пробовал, был:
With ActiveSheet
intLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
Let strSelectRange = "L2" & ":" & "L" & intLastRow
Range(strSelectRange).Select
Cells.Replace What:="*", Replacement:="True", LookAt:=xlPart _
, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End With
Во-первых, я использовал .Rows.Count, "A", потому что в этом столбце у каждой строки есть данные, поэтому я знаю, сколько строк будет записано в столбце L. В столбце L многие ячейки будут пустыми.
Когда я запускаю это, каждая ячейка во всем рабочем листе, в которой есть что-либо, изменяется на True, а не только на данные в столбце L.
Другой метод, который я попробовал, был:
Range("L2:L1200").Select
Selection.Replace What:="*", Replacement:="True", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("A1").Select
Что мне не нравится в этом, так это то, что я выбрал L1200 в качестве числа строк, просто чтобы быть уверенным, что я буду искать дальше, чем фактическая последняя строка, которая может содержать данные. Я обеспокоен тем, что этот метод может вызвать проблемы в какой-то момент.
Что я действительно хотел бы знать, так это то, что я делаю неправильно в первом примере кода.
Спасибо за любую помощь, которую вы можете предложить !!!