我有一系列列,其中大部分是空白单元格。我正在尝试复制这些单元格是否包含文本。为此,我编写了以下代码,该代码适用于第一行。如何对每一行重复此操作,直到最后使用的行?
Dim SrchRng As Range, cel As Range
Set SrchRng = Sheet1.Range("BI2:CZ2")
For Each cel In SrchRng
If cel.Value <> "" Then
Sheet1.Range("AH2").Value = cel.Value
End If
Next cel
您几乎做对了所有事情 - 只缺少一个细微差别:写入目标单元格后,您需要将该单元格向右或向下移动。例如,可以这样完成:
如果您想将范围内每一行的所有非空值连接到一个单元格中,正如您在评论中指出的那样,宏代码不会变得更加复杂:
尝试下面的代码。它首先找到工作表上的最后一行。然后,循环遍历各行(从第 2 行到最后一行)并在 AH 中设置值(如果找到)。