嵌套的;对于每一个“;无法在VBA中工作

嵌套的;对于每一个“;无法在VBA中工作,vba,excel,Vba,Excel,我试图在VBA中运行一个非常简单的嵌套“for each”;但是得到一个语法错误。当我删除第二行之后的每一行(PropFromOutput=O.Value)时,它工作正常。我哪里做错了? 多谢各位 Sub CompareAndMark() Dim Linko As Worksheet Dim Output As Worksheet Dim PropFromLinko As String Dim PropFromOutput As String For Each L In Linko.Range

我试图在VBA中运行一个非常简单的嵌套“for each”;但是得到一个语法错误。当我删除第二行之后的每一行(PropFromOutput=O.Value)时,它工作正常。我哪里做错了? 多谢各位

Sub CompareAndMark()
Dim Linko As Worksheet
Dim Output As Worksheet
Dim PropFromLinko As String
Dim PropFromOutput As String

For Each L In Linko.Range("B2:B69").Cells
   PropFromLinko = L.Value

   For Each O In Output.Range("A2:A69").Cells
   PropFromOutput = O.Value

   Next O
Next L
End Sub

这将编译并正常运行(虽然
L
O
值为空,但我不知道您的完整代码)。您失败的原因是您从未设置
Linko
Output
设置为的
工作表。请根据需要编辑分配给他们的工作表,以使其适用于您

什么错误?说“我有个错误”,然后不提供错误是适得其反的。只是编辑并重新指定问题。谢谢。你的更新没有澄清这个问题。你说你得到了一个“语法错误”。语法错误是什么?我得到的唯一错误消息是“编译错误:语法错误”,我发现这令人惊讶。我本可以预料到其他的错误。您从未将链接或输出设置为任何对象。您还应该养成声明所有变量的习惯。您可以通过VBE中的一个选项强制执行此操作,该选项将在每个模块的开头显式放置选项。
Sub CompareAndMark()
Dim Linko As Worksheet
Dim Output As Worksheet
Dim PropFromLinko As String
Dim PropFromOutput As String

Set Linko = ActiveSheet
Set Output = ActiveSheet

For Each L In Linko.Range("B2:B69").Cells
   PropFromLinko = L.Value

   For Each O In Output.Range("A2:A69").Cells
   PropFromOutput = O.Value

   Next O
Next L
End Sub