Работал над проектом, используя записанные макросы для завершения копирования и вставки между книгами.Записанные макросы работали, НО, когда читают форумы, люди утверждают, что метод копирования / вставки требует больше времени для запуска макроса и очень неэффективен.Поэтому я пытаюсь озвучить строку vba назначения копирования, которая будет копировать несколько столбцов, начиная с диапазона (A2: G2000), а затем вставлять в область диапазона, начиная с (B6: H2000).Я не очень хорош в этом и пытаюсь учиться более эффективно.Здесь на ум приходят две вещи.Простой метод копирования и вставки, который у меня работает.НО будет использовать прямой источник = пункт назначения.Можно ли это сделать?После прочтения этого вы можете увидеть другую проблему.Почему до строки 2000 выбрано и скопировано / вставлено?Вы правы в своем мышлении.Некоторые отчеты (текстовые файлы) имеют 100 строк, около 300, но не более 1000, но я перебираю выбор копии, потому что я не уверен в будущих текстовых файлах.Я думал, если бы вы могли просто выбрать столбец, чтобы последний использовавшийся ряд был крутым.Это далеко за мной.Я был бы счастлив, просто новый способ эффективного копирования / вставки.
Буду признателен за любую помощь, которую может предложить любой.дайте мне знать, что вы думаете.Спасибо Бумер
enter code here
Sub import_data()
'
'
'import_data
'
Application.ScreenUpdating = False
'
'Opens the txt file in excel - text delimited and leaves file open until
we close at bottom of code. There is no 'name for this workbook.
Workbooks.OpenText (Module33.FileDir + "\cf_data.txt"), Origin:=437, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1),
_
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1)),
TrailingMinusNumbers:=True
'The line below is where I'm selecting data from the current opened
workbook and copying to another workbook
ActiveWindow.Sheet1.Range("A2:G2000").Copy
Destination:=Workbooks("Auto_Data.xlsm").Sheet2.Range ("B6:H2000")
'This info below is a (recorded marco). All works if I rem out the above
line and open up all the below lines
' Range("A2:G2000").Select
' Selection.Copy
' Windows("Auto_Data.xlsm").Activate
' Sheet2.Select
' Range("B6:H6").Select
' ActiveSheet.Paste
' Selection.AutoFilter
' Application.CutCopyMode = False
' ActiveWindow.ActivateNext
' ActiveWindow.Close
' Range("B4").Select
Application.ScreenUpdating = True
End Sub