Я хочу, чтобы код проверял каждую ячейку в диапазоне «A3: AAA3» для определенного c текста. Если ячейка содержит этот текст, я хочу, чтобы он скопировал текст в ячейку справа в две строки выше (см. Иллюстрацию ниже):
Скопированный текст будет датой.
У меня уже есть фрагмент кода, который идентифицирует каждый столбец с этим текстом и устанавливает ширину столбца:
Dim c as Range
For Each c In Range("A3:AAA3").Cells
If c.Value = "TEXT" Then
c.EntireColumn.ColumnWidth = 4
End If
Next c
Я могу использовать Скопируйте и вставьте, если ячейка уже выбрана:
Dim s As Range
Set s = Selection.Cells(1)
s.Offset(0, 1).Copy
s.Offset(-2, 0).PasteSpecial xlPasteAll
И я чувствую, что я должен быть в состоянии объединить два в нечто вроде ниже, так что он выбирает ячейку с текстом, а также копирует и вставляет ячейка рядом с ней, а затем зацикливается на следующей (что-то вроде ниже?), но все мои попытки не работают - она не выдает сообщение об ошибке, просто ничего не делает.
Dim c As Range
For Each c In Range("A3:AAA3").Cells
If c.Value = "TEXT" Then
c.Select
c.Offset(0, 1).Copy
c.Offset(-2, 0).PasteSpecial xlPasteAll
End If
Next c
Мысли? Я уверен, что это очень простое решение, но я немного застрял.