【问题标题】:Removing blank cells and structuring data while copying VBA复制 VBA 时删除空白单元格和结构化数据
【发布时间】:2018-01-24 17:02:05
【问题描述】:

我目前正在做一个项目,我需要在一个工作簿中复制目标范围并将其粘贴到另一个工作簿中,省略所有空白单元格(有很多)。

到目前为止,我已经设法将它们全部粘贴在一行中,但我还没有设法适当地构造它。

        For Each c In rngSourceRange.SpecialCells(xlCellTypeVisible)
            If Len(c) <> 0 Then
                rngDestination = c.Value
                Set rngDestination = rngDestination.Offset(0, 1)
            End If
        Next c

        Application.CutCopyMode = False

格式应该是这样的。前 19 个单元格应该彼此相邻排成一行,然后它应该向下移动一行回到第一列并列出接下来的 19 个条目,依此类推,直到我没有要复制的单元格为止。现在我尝试包含另一个 for 循环,但它产生了非常无用的结果。

        For Each c In rngSourceRange.SpecialCells(xlCellTypeVisible)
            If Len(c) <> 0 Then
            For lcol = 1 To 19
                wkbCrntWorkBook.Sheets("Tabelle1").Cells(lrow, lcol).Value = c.Value
                lrow = lrow + 1
            Next lcol
            End If
        Next c

        Application.CutCopyMode = False

请帮助我正确构建此数据集。如果有任何帮助,我可以展示我的其余代码。

【问题讨论】:

    标签: vba excel loops copy-paste


    【解决方案1】:

    在您的第一个代码中,在此语句之后:

    Set rngDestination = rngDestination.Offset(0, 1)
    

    尝试添加以下语句:

     If rngDestination.Column > 19 Then _
       Set rngDestination = rngDestination.EntireRow.Offset(1).Cells(1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-30
      • 1970-01-01
      • 2019-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      相关资源
      最近更新 更多