循环遍历表格中的每个单元格

时间:2016-06-30 17:46:34

标签: excel vba loops if-statement

我有一张桌子可以循环播放。如果活动单元格包含1,则在表格外部的单元格中返回列标题并将其放入逗号分隔列表中。

我正在寻找那个循环,一个接一个地逐个单元格继续,并用逗号分隔列表来构建每个TRUE返回。

一旦循环到达行的末尾,我需要它下拉到下一行并继续相同的过程(但为第2行中返回true的那些创建自己的逗号分隔列表)。

1 个答案:

答案 0 :(得分:1)

我会帮助你的! (希望)

Dim x, y as Integer
x = 1
y = 1

For y = 1 To 100
   If Worksheets("Sheet1").Cells(y, x) = "1" Then
      If Worksheets("Sheet2").Cells(1, 1) = "" Then
         Worksheets("Sheet2").Cells(1, 1) = Worksheets("Sheet2").Cells(1, 1) & x & "/" & y
      Else
         Worksheets("Sheet2").Cells(1, 1) = Worksheets("Sheet2").Cells(1, 1) & ", " & x & "/" & y
      End If
   End If
   If y = 100 And x < 100 Then
      y = 1
      x = x + 1
   End If
Next y

因为您不熟悉VBA,我会告诉您"Sheet(n)"取决于您使用excel的语言(英语,德语,西班牙语)。希望这就是你想要的。 :)

下一个代码基于您最近的评论:

Dim y, x as Integer
Dim aString as String

y = 2
x = 1

For y = 2 To 100
    If Worksheets("Sheet1").Cells(y, x) = "1" Then
        aString = Worksheets("Sheet2").Cells(1, x)
        If Worksheets("Sheet2").Cells(1, 1) = "" Then
            Worksheets("Sheet2").Cells(1, 1) = _
            Worksheets("Sheet2").Cells(1, 1) & aString
        Else
            Worksheets("Sheet2").Cells(1, 1) = _
            Worksheets("Sheet2").Cells(1, 1) & ", " & aString
        End If
    End If
    If y = 100 And x <> 100 Then
        y = 2
        x = x + 1
    End If
Next y