我目前正在尝试检查2列中的单元格(每个列都有一个循环)并查看它们是否具有字符串true。如果是,我想将一些相应的单元格复制到另一张表(日志)。
我知道我有一些单元格,其中包含单词true,但是当我运行该程序时,没有任何内容可以复制到我的其他工作表中。
我没有得到任何编译错误,并想知道我在这段代码中的错误。
Sub isLimit()
Dim a As Long, b As Long, Lr As Long
x = 2
y = 2
Lr = Worksheets("Targets").Cells(Rows.Count, "A").End(xlUp).Row
For i = 8 To Lr
If (StrComp(Cells(i, 15).Text, "TRUE")) = 0 Then
Worksheets("Log").Range("B" & x) = "no"
x = x + 1
End If
Next i
For j = 8 To Lr
If (StrComp(Cells(j, 16).Text, "TRUE")) = 0 Then
Worksheets("Log").Range("B2") = Worksheets("Targets").Range("B1").Value
Worksheets("Log").Range("C" & y) = "yes"
y = y + 1
End If
Next j
End Sub
答案 0 :(得分:0)
到目前为止,我可以看到两个可能导致麻烦的问题。
1.由于您没有设置要从下面一行检查哪些工作表,
它将检查活动表格单元格i,15然后返回-1或0(真或假)。
仅当您的屏幕显示存储数据的工作表时才能使用。
If (StrComp(Cells(i, 15).Text, "TRUE")) = 0 Then
2.如果您的DATA包含其他内容,则为TRUE(例如,值之前或之后的空格)。
它可能会将其视为“TRUE”以外的其他内容
在不查看实际数据的情况下,我可以告诉他们。