【问题标题】:How to copy first cell of a column, do something and then copy the next first cell of a column?如何复制列的第一个单元格,做某事然后复制列的下一个第一个单元格?
【发布时间】:2022-01-21 19:56:22
【问题描述】:

寻找可能是一个非常简单的问题的解决方案,但不知何故我似乎找不到答案。

我正在寻找一种方法来复制每列的第一个单元格。我想使用复制的值在另一个工作簿中过滤它。我想将过滤后的单元格粘贴到下面,然后重复该过程,直到所有列都通过为止。

因此,我将使用哪种循环来一次复制每个第一个单元格,存储它,然后对其进行处理,然后为所有列复制列的下一个第一个单元格?

有人可以用这个取悦我吗?非常感谢您的帮助。

For i = 1 To 207
    Columns(i).Select
    ActiveCell.Offset(0, 0).Range("A1").Select
    Selection.Copy
'How do I store the copied value to use it in an autofilter?


Next i

End Sub

【问题讨论】:

标签: excel vba loops


【解决方案1】:

而不是选择 - 你应该avoid using select -
您可以将值设置为变量varname = Cells(1,i) 供以后使用,
或者更好的是,直接应用于您的过滤器。

Dim i As Long
Dim wb2 As Workbook
Set wb2 = Workbooks("Book2") 'the "Other" workbook name here

For i = 1 To wb2.Worksheets.Count 'looping each sheet
    wb2.Worksheets(i).Range("A1").AutoFilter Field:=1, Criteria1:= _
    ThisWorkbook.Sheets(1).Cells(1, i)
Next i

这只是一个示例,它做出了 很多 假设,这些假设很可能与您的现实不符,必须更改这些假设以适应您的场景,ofc。
但它会遍历指定工作簿中指定数量的工作表,并使用从第一个工作簿中获得的值过滤第一列。

然后,有很多关于如何copyfiltered 范围的问题可能会给出提示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多