将数据从表单传输到主日志,如何始终确保宏始终转到下一个空行

时间:2016-09-02 08:30:55

标签: excel macros

我有一个用户完成的表单(安装预订电子表格V4)使用完成此表单,然后将数据传输到主日志(安装程序日志2.xlms)

我已经录制了一个宏来复制,粘贴和转置数据到日志上。代码如下:

    Application.ScreenUpdating = False

Windows("Install Booking Spreadsheet v4.xlsm").Activate
    Range("B8:B14").Select
    Selection.Copy
    Windows("Installer LOG 2.xlsm").Activate
        lMaxRows = Cells(Rows.Count, "A").End(xlUp).Row
        Range("A" & lMaxRows + 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=True

Windows("Install Booking Spreadsheet v4.xlsm").Activate
    Range("B23").Select
    Selection.Copy
    Windows("Installer LOG 2.xlsm").Activate
        lMaxRows = Cells(Rows.Count, "H").End(xlUp).Row
        Range("H" & lMaxRows + 1).Select
       Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=True, Transpose:=True

Windows("Install Booking Spreadsheet v4.xlsm").Activate
    Range("B28").Select
    Selection.Copy
    Windows("Installer LOG 2.xlsm").Activate
        lMaxRows = Cells(Rows.Count, "I").End(xlUp).Row
        Range("I" & lMaxRows + 1).Select
       Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=True, Transpose:=True`

我遇到的问题是(安装预订电子表格V4),具体取决于用户可能无法填写所有不同区域的工作类型。然后,当他们将此传输到LOG时,它会在日志上留下空白空间。下一次数据传输可能有额外的数据区域,它们会跳转到之前的空单元格。 我认为SkipBlanks - := True会做到这一点,但不会。

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

在您的代码中,使用Selection.SpecialCells(xlCellTypeConstants).Copy代替Selection.Copy。这将仅复制值为

的单元格