【问题标题】:How to copy column data from one sheet and then copy that to another sheet in vba excel如何从一张表中复制列数据,然后在vba excel中将其复制到另一张表中
【发布时间】:2017-03-30 16:44:55
【问题描述】:

我需要这个小项目的帮助。我需要完成以下任务:

我有一个 excel 文件,其中我的宏按钮一旦单击将仅从 A 列中的 sheet1 读取数据,然后应该将数据扔到另一个 sheet2 并将每个数据从 sheet1 移动到 sheet2 并将所有数据显示到每个单独的柱子。

这是数据示例的图像。在图像中,每个圆圈都需要在新 sheet2 的自己的列中,这只是数据的一部分,列总行数约为 900。

如果需要更多信息,请告诉我。

这是我让它将工作表从 sheet1 复制到 sheet2 的代码,但我需要其余的工作

Sub ExportFile()
Dim strValue As String
Dim strCellNum As String
Dim x As String
x = 1

For i = 1 To 700 Step 7
    strCellNum = "A" & i
    strValue = Worksheets("data").Range(strCellNum).Value
    Debug.Print strValue
    Worksheets("NewData").Range("A" & x).Value = strValue
    x = x + 1
Next
End Sub

【问题讨论】:

  • 每4行数据块之间是否有单个空行??
  • 每行之间有 1 到 2 个空格
  • 对不起,我的意思是,列中的每个数据块之间有 1 到 2 个空格,但我可以让它在每个数据块之间只有一行空格。

标签: vba excel


【解决方案1】:

试试这个:

Sub DataReorganizer()
    Dim s1 As Worksheet, s2 As Worksheet, N As Long, i As Long, j As Long, k As Long
    Dim v As Variant

    Set s1 = Sheets("Data")
    Set s2 = Sheets("NewData")

    N = s1.Cells(Rows.Count, "A").End(xlUp).Row
    For i = N To 2 Step -1
        If s1.Cells(i, "A").Value = "" And s1.Cells(i - 1, "A").Value = "" Then s1.Cells(i, "A").Delete shift:=xlUp
    Next i

    j = 1
    k = 1
    N = s1.Cells(Rows.Count, "A").End(xlUp).Row
    For i = 1 To N
        v = s1.Cells(i, "A").Value
        If v = "" Then
            j = 1
            k = k + 1
        Else
            s2.Cells(j, k).Value = v
            j = j + 1
        End If
    Next i

End Sub

【讨论】:

    【解决方案2】:

    你可以试试这个:

    Sub ExportFile()
        Dim area As Range
        Dim icol As Long
    
        With Worksheets("data")
            With .Range("A1", .Cells(.Rows.Count, 1).End(xlUp)).SpecialCells(xlCellTypeConstants)
                For Each area In .Areas
                    icol = icol + 1
                    Worksheets("NewData").Cells(1, icol).Resize(area.Rows.Count).Value = area.Value
                Next
            End With
        End With
    End Sub
    

    【讨论】:

    • @AndresBryan29,你通过了吗?
    • 大家好,这两个脚本的效果非常棒,谢谢大家。我会完成剩下的项目,再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    相关资源
    最近更新 更多