Я пытаюсь написать макрос, который будет использовать оператор if для копирования данных из одного места в другое.VBA Copy Смежные ячейки
Esentially:
Если Range.Cells (I, J) .Value = "Hello" Затем скопируйте три ячейки справа от слова "Hello"
Я думаю, что я, возможно, придется использовать Смещение? Который я не очень опытный, любая помощь будет принята с благодарностью! Спасибо!
Edit:
Это то, что я для моего кода:
For i = 1 To danesRange.Rows.Count
For j = 1 To danesRange.Columns.Count
If danesRange.Cells(i, j).Value = "Ins" Then
danesRangevalues.Cells(i, j).Copy
End If
Next j
Next i
Я знаю, как скопировать и вставить с помощью VBA, но я не знаю, как скопировать и вставить неизвестный диапазон, потому что Я не знаю точно, где будет диапазон этих трех ячеек, это зависит от того, где падает значение «INS». То, что я до сих пор, будет копировать только соседнюю ячейку, а не все три.
Где код, который вы создали до сих пор? Записать макрос, чтобы скопировать три ячейки (на отдельный рабочий лист?), Чтобы дать вам начало! – MiguelH
Что-то меня беспокоит: если вы переходите от первого столбца - по столбцу - к последнему столбцу и потенциально копируете ячейку ** и ** три соседние ячейки (в следующих трех столбцах), то это не делает имеет смысл продолжить поиск в следующем столбце (если вы не хотите копировать избыточные данные). Но, возможно, есть что-то, чего я еще не знаю. – Ralph
Где вы пытаетесь это выразить? У вас уже есть ссылка на столбец j, поэтому вы можете просто установить danesRange.Cells (i, j + 3) = danesRange.Cells (i, j) .Value' или что-то в этом роде. Или соедините их вместе, если есть несколько ячеек. Хороший пример был бы полезен. – Liss