#excel #vba
#excel #vba
Вопрос:
У меня есть два разных файла с надписью «File_A» и «File_B». Я скопировал данные из ‘File_A’, теперь я хочу вставить их в ‘File_B’ Как мне вставить их в последний пустой столбец для определенной строки .. (скажем, 102 номер строки)
Ниже приведен мой код .. но мои данные вставляются в предыдущий столбец каждый раз, когда я его запускаю .. скажем, в первый раз, когда он вставляется в столбец D, затем в столбец C вот так.
Пожалуйста, предложите изменения в моем коде.
Sub Test()
Workbooks.Open "C:DataFile_B"
Worksheets("Sheet9").Activate
Worksheets("Sheet9").Select
Range("B" amp; Rows.Count).End(xlUp).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Workbooks("File_B").Sheets("A1").Activate
Dim last_col As Integer
last_col = Cells(102, Columns.Count).End(xlToLeft).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Save
End Sub
Комментарии:
1. Когда вы говорите
last blank column
, вы имеете в виду первый пустой столбец после ваших данных? Наlast_col
самом деле вы выбираете последний столбец с данными, а не пустой столбец. Вы перезаписываете данные в последнем использованном столбце каждый раз, когда запускаете свой код. Вам нужнаOffset
last_col
переменная, 1 столбец справа. Кроме того, вы должны посмотреть, как не использоватьActivate
иSelect
2. Спасибо @GMalc ..Смещение сработало.. Я проверю, как избежать использования Activate и Select в соответствии с вашим предложением