Я пытаюсь скопировать столбцы на другой рабочий лист, идущий по имени столбца. Проблема с приведенным ниже кодом заключается в том, что он копирует только столбец состояния калькулятора цены. Это переписывание двух других. Есть ли лучший способ изменить этот код, чтобы он добавлял, а не перезаписывал?Копирование нескольких столбцов по имени столбца
Dim aCell1, aCell2, aCell3 Как Range Dim strSearch As String
strSearch1 = "Change Request Description"
strSearch2 = "Current State"
strSearch3 = "Price Calculator Status"
'Set ws = ThisWorkbook.Sheets(1)
With wrkbk
Set aCell1 = Sheets("3. PMO Internal View").Rows(1).Find(What:=strSearch1, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
'Sheets("3. PMO Internal View").Columns(aCell.Column).Copy
Set aCell2 = Sheets("3. PMO Internal View").Rows(1).Find(What:=strSearch2, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
'Sheets("3. PMO Internal View").Columns(aCell.Column).Copy
Set aCell3 = Sheets("3. PMO Internal View").Rows(1).Find(What:=strSearch3, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
'If Not aCell Is Nothing Then
' MsgBox "Value Found in Cell " & aCell.Address & vbCrLf & _
' "and the column number is " & aCell.Column
'~~> Do the copying here
Sheets("3. PMO Internal View").Columns(aCell1.Column).Copy
Sheets("3. PMO Internal View").Columns(aCell2.Column).Copy
Sheets("3. PMO Internal View").Columns(aCell3.Column).Copy
'Else
'MsgBox "Search value not found"
'End If
End With
Привет всем, любое обновление здесь об этом? –
вы копируете столбцы в приведенном выше коде, но вы не вставляете его нигде .... это то, что вы после одновременного выбора нескольких столбцов, которые затем можно вставить, и они будут рядом друг с другом? – RowanC
Да. Я хочу скопировать вышеупомянутые три столбца из исходного листа, которые не находятся рядом друг с другом на новом рабочем листе, чтобы они были рядом друг с другом. Забыл добавить приведенный ниже фрагмент кода для пасты, извините за это: wrkbk.Activate ActiveSheet.Paste –