将列从选定行复制到其他图纸vba

将列从选定行复制到其他图纸vba,vba,excel,Vba,Excel,用户应该选择一些行(不一定在彼此下面),然后将每行中的一些列复制到另一个工作表中,我如何实现这一点? 我尝试过application.inputbox,但它似乎不适用于范围。尝试类似的方法。不是很高效,但是如果我理解你在找什么,它应该能完成任务。这将生成一个所有行的数组,其中突出显示行中的第一个单元格。希望这有帮助 Sub macro1() Dim a As Range Dim i As Integer Dim numRowsToCheck As Integer Dim rows() As In

用户应该选择一些行(不一定在彼此下面),然后将每行中的一些列复制到另一个工作表中,我如何实现这一点?
我尝试过application.inputbox,但它似乎不适用于范围。

尝试类似的方法。不是很高效,但是如果我理解你在找什么,它应该能完成任务。这将生成一个所有行的数组,其中突出显示行中的第一个单元格。希望这有帮助

Sub macro1()
Dim a As Range
Dim i As Integer
Dim numRowsToCheck As Integer
Dim rows() As Integer
Dim length As Integer

Set a = Selection
numRowsToCheck = 100
length = 0
For i = 1 To numRowsToCheck
    If Not Application.Intersect(Worksheets(1).Cells(i, 1), a) Is Nothing Then
        length = length + 1
        ReDim Preserve rows(length)
        rows(length - 1) = i
    End If
Next i

MsgBox (rows(0) & "," & rows(1) & "," & rows(2)) 'Check results

For i = 0 To length - 1
    'Copy stuff from row i to wherever you want it to go
Next i
End Sub

谢谢,在我忽略了第二个FOR循环并在第一个FOR循环中编写了操作之后,它就工作了。