首页 > 解决方案 > 如何使用 VBA 在不同的工作表中列出一个列表

问题描述

我有 3 张纸:Form66、Form65 和 Matching。两个表单都有一个从 A9 开始的 ID 列和一个从 W9 开始的 Set 列。如果它们在我的匹配表中共享相同的 Set #,我需要匹配这些 ID。我包含的示例代码是为我的匹配表编写的,它可以很好地完成这部分。

我缺少的是如何继续对 form66 中的 W9:W100 范围执行此操作,同时在值满足If语句时继续填充我的匹配表。我怎样才能做到这一点?

Dim row as integer

row = 3
If (Worksheets("Form66").Range("W9").Value = 1) Then    
    Cells(row, 1) = Worksheets("Form66").Range("A9").Value

标签: excelvbarange

解决方案


I think you're looking for a simple loop. Check out the code below

Sub foo()
Dim i As Long

Row = 3
For i = 9 To 100
    If Worksheets("Form66").Cells(i, "W").Value = 1 Then
        Cells(Row, i - 8) = Worksheets("Form66").Cells(i, "A").Value
    End If
Next

End Sub

You can also loop through worksheets if necessary:

For sht = 1 To Sheets.Count
    If Sheets(sht).Name = "Form66" Then
        'some code here
    End If
Next

推荐阅读