В настоящее время я пытаюсь написать макрос, который по существу берет столбец, дублирует его вправо, а затем изменяет определенные ссылки для возврата к предыдущему столбцу.Вставка скопированных ячеек, а затем ссылка на исходные ячейки с использованием функции замещения
Я использую метод replace, но поскольку я ищу конкретную строку на основе буквы столбца и «2», я использовал объект для объединения буквы столбца и «2». Лучший способ объяснить как говорят, я скопировал столбец B и вставить его и сделал дубликат в столбце C.
теперь я хочу, чтобы найти «С2 и С3„“в моих формул и изменить их на„В2“и„В3“.
Я решил, что это будет сделано путем поиска вышеупомянутых строк с использованием метода замены и смещения их на -1. Это оказалось довольно сложным. Любые идеи?
'duplicates column over 1'
ActiveCell.EntireColumn.Select
Selection.Copy
ActiveCell.Offset(0, 1).EntireColumn.Select
Selection.Insert Shift:=xlToRight
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone
Application.CutCopyMode = False
'Declarations and Instantiations'
Dim rngo As Range, cell As Range, ranger As Range
Dim lookfor As String
Dim UsedRng As Range, LastRow As Long
Set rngo = Selection.EntireColumn
Set UsedRng = ActiveSheet.UsedRange
LastRow = UsedRng(UsedRng.Cells.Count).Row
rngo.Select
Do Until ActiveCell.Row = LastRow + 1
For Each cell In rngo
Col = SPLIT(ActiveCell(1).Address(1, 0), "$")(0) 'returns just the cell letter'
lookfor = (Col & "2") 'combines the column letter with the number(I BELIEVE THIS IS THE SOURCE OF THE ISSUE BUT IM NOT SURE IN WHAT WAY'
'starts to search the new column for "lookfor" which is just the designated string'
rngo.Replace _What:=lookfor, Replacement:="'offset lookfor by 1 column'",_SearchOrder:=xlByRows, MatchCase:=True
Next cell
ActiveCell.Offset(1, 0).Select
Loop
MsgBox ColumnName(Selection)
MsgBox lookfor
End Sub