Макрос для вставки значений в пустой столбец для определенной строки

#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 в соответствии с вашим предложением