首页 文章

如何在VBA中复制ctrl A等范围

提问于
浏览
-1

复制细胞范围我遇到了问题 . 通常我习惯用activecell方法制作它 . 但在目前的情况下,它不起作用 . 我的意思是代码不会选择整个范围的单元格 . 如何将CTRL excel快捷方式应用于VBA?

Sub MergeDifferentWorkbooksTogether()

Dim wbk As Workbook
Dim wbk1 As Workbook
Dim Filename As String
Dim Path As String
Dim D As Date
D = Date - 3

Workbooks.Add
ActiveWorkbook.SaveAs "C:\Users\xezer.suleymanov\Desktop\Summary & D"
Set wbk1 = Workbooks("Summary & D")

Path = "\\FILESRV\File Server\Hesabatliq\Umumi\Others\Branchs' TB\Branchs' TB as of  2018\" & D
Filename = Dir(Path & "\*.xlsx")

Do While Len(Filename) > 0
Set wbk = Workbooks.Open(Path & "\" & Filename)
wbk.Activate
Range("A6").Value = "Branch Name"
Range("B1").Copy
Range("B6").End(xlDown).Offset(0, -1).Activate
Range(ActiveCell, ActiveCell.End(xlUp).Offset(1, 0)).Select
Selection.PasteSpecial xlPasteAll
Application.CutCopyMode = False
Range("A6").Activate
Range(ActiveCell, ActiveCell.End(xlToRight).End(xlDown)).Copy
wbk1.Activate
Application.DisplayAlerts = False
wbk1.Sheets("Sheet1").Range("A1048576").End(xlUp).Offset(1, 0).Select
ActiveCell.PasteSpecial xlPasteAll
wbk.Close True
Filename = Dir

Loop
End Sub

1 回答

  • 0

    你可以试试这样的......

    Dim lr As Long, lc As Long
    Dim rng As Range
    lr = Cells(Rows.Count, 1).End(xlUp).Row
    lc = Cells(6, Columns.Count).End(xlToLeft).Column
    Set rng = Range("A6", Cells(lr, lc))
    rng.Copy
    

    另外,如果row5为空,您也可以尝试...

    Range("A6").CurrentRegion.Copy
    

相关问题