繁体   English   中英

在工作表中循环时在列中循环

[英]Looping through Columns while Looping through worksheets

我试图从工作表1的A列提取数据并将数据粘贴到工作表2中。然后循环到工作表1的B列并将数据粘贴到工作表3中。继续,直到没有更多工作表为止。

我的代码遍历各列而不是工作表。

Sub Copy()
    Dim ws As Worksheet
    Dim WS_Count As Integer
    Dim i As Integer
    Dim J As Integer
    WS_Count = 10

    ' Begin the loop.
    For J = 1 To WS_Count
        Sheets("Bob").Select
        For i = 1 To 2
            Cells(10, i).Select
            Selection.Copy
            Set ws = ThisWorkbook.Worksheets(J)
            Range("A1:A5").Select
            ActiveSheet.Paste
        Next i
    Next J
End Sub

要循环工作表,请尝试:

Sub LoopWs()

    Dim ws As Worksheet

    For Each ws In ActiveWorkbook.Worksheets
        'Enter code
    Next

End Sub

假设Sheet1也是工作表集合中的Index 1

这将遍历所有工作表(不包括第一张工作表),并以这种模式复制列。 该模式将重复进行,直到您用完工作表为止。

Sheet1 Column A Row 10 ---> Sheet2 Range C10
Sheet1 Column B Row 10 ---> Sheet3 Range C10
Sheet1 Column C Row 10 ---> Sheet4 Range C10


Option Explicit

Sub Strange_Loop()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets(1)
Dim i As Long

For i = 2 To ThisWorkbook.Sheets.Count
    Sheets(i).Cells(10, 3).Value = ws.Cells(10, i -1).Value
Next i

End Sub

我建议一种更简单的方法:

 Sub CopyColumnA()

 Dim a As Integer

 For a = 2 To Sheets.Count
    Sheets(a - 1).Columns(1).Copy Destination:=Sheets(a).Columns(1)
 Next

 End Sub

暂无
暂无

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

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