首页 > 解决方案 > VBA Copay 值从一个工作簿到另一个工作簿

问题描述

我需要 vba 代码来执行以下操作:

选择一个随机命名的工作簿,持有名为“ImportData”的特定工作表,复制 A1:T121 列中的值。如果“K”列中有数据且“E”列不为空。

将值粘贴到 MainWorkbook 表 1 中 A 列的第一个空行中。

这可能吗?

提前致谢。

标签: excelvba

解决方案


修改代码试试:

Option Explicit

 Sub test()

    Dim wb1 As Workbook, wb2 As Workbook
    Dim Lastrow As Long, i As Long

    'Make sure that both workbooks are open
    Set wb1 = Workbooks("Book1.xlsm")
    Set wb2 = Workbooks("Book2.xlsm")

    'Refer to Book1 & Sheet1
    With wb1.Worksheets("Sheet1")
        'Get the last row of Book1, Sheet1 & column A
         Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row

            'Loops Book1, Sheet1 & column A from line 1 to lastrow
            For i = 1 To Lastrow
                'Check for blanks in colums E & K
                If .Range("E" & i).Value <> "" And .Range("K" & i).Value <> "" Then
                    'If there are no blanks copy from wb1, Sheet1 & Range "A1:D1" to wb2, Sheet1 & Range "A1:D1"
                    .Worksheets("Sheet1").Range("A1:D1").Copy wb2.Worksheets("Sheet1").Range("A1:D1")
                End If
            Next i

    End With

 End Sub

推荐阅读