繁体   English   中英

如何从一个工作表中复制列数据,然后将其复制到VBA Excel中的另一工作表

[英]How to copy column data from one sheet and then copy that to another sheet in vba excel

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

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

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

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

在此处输入图片说明

这是我将工作表从工作表1复制到工作表2的代码,但我需要其余的工作

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

您可以尝试以下方法:

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

试试看:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM