Excel 我试图使这段代码工作,但失败,因为结束与
我得到了 结束 错误,我找不到问题 我试图在第一组Excel 我试图使这段代码工作,但失败,因为结束与,excel,vba,Excel,Vba,我得到了 结束 错误,我找不到问题 我试图在第一组.visible=true下面添加else,但没有成功。任何帮助都将不胜感激 Sub Owners() Sheets("Start").Activate Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets If ws.Name <> ThisWorkbook.ActiveSheet.Name Then w
.visible=true
下面添加else
,但没有成功。任何帮助都将不胜感激
Sub Owners()
Sheets("Start").Activate
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> ThisWorkbook.ActiveSheet.Name Then
ws.Visible = xlSheetHidden
End If
Next ws
With Worksheets("Start")
Dim stateMatch As Variant
stateMatch = Application.Match(.Range("B2").Value, Sheets("List").Range("K2:K32"), 0)
Dim numOwnerMatch As Variant
numOwnerMatch = Application.Match(.Range("B3").Value, Sheets("List").Range("D2:D3"), 0)
If IsNumeric(stateMatch) And IsNumeric(numOwnerMatch) Then
If numOwnerMatch = 1 Then
Worksheets("1st OwnerStatement").Visible = True
Worksheets("1st OwnerPPW").Visible = True
End If
If numOwnerMatch = 2 Then
Worksheets("1st OwnerStatement").Visible = True
Worksheets("2nd OwnerStatement").Visible = True
Worksheets("1st OwnerPPW").Visible = True
Worksheets("2nd OwnerPPW").Visible = True
End If
End With
End Sub
Sub-owner()
工作表(“开始”)。激活
将ws设置为工作表
对于此工作簿中的每个ws。工作表
如果ws.Name ThisWorkbook.ActiveSheet.Name,则
ws.Visible=xlSheetHidden
如果结束
下一个ws
带工作表(“开始”)
Dim stateMatch作为变量
stateMatch=Application.Match(.Range(“B2”).值,表(“List”).范围(“K2:K32”),0)
Dim numOwnerMatch作为变体
numOwnerMatch=Application.Match(.Range(“B3”).值,表(“List”).范围(“D2:D3”),0)
如果是数值型(stateMatch)和数值型(numOwnerMatch),则
如果numOwnerMatch=1,则
工作表(“第一所有者声明”)。可见=真实
工作表(“第一所有者”)。可见=真实
如果结束
如果numOwnerMatch=2,则
工作表(“第一所有者声明”)。可见=真实
工作表(“第二所有者声明”)。可见=真实
工作表(“第一所有者”)。可见=真实
工作表(“第二所有者”)。可见=真实
如果结束
以
端接头
试试这个。如果靠近底部,看起来好像你错过了一个端点。间隔分组可能有助于您进一步了解这一点,因为更容易看到IF/with/etc何时打开和关闭
Sub Owners()
Dim ws As Worksheet
Dim stateMatch As Variant
Dim numOwnerMatch As Variant
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> ThisWorkbook.ActiveSheet.Name Then
ws.Visible = xlSheetHidden
End If
Next ws
With Worksheets("Start")
stateMatch = Application.Match(.Range("B2").Value, Sheets("List").Range("K2:K32"), 0)
numOwnerMatch = Application.Match(.Range("B3").Value, Sheets("List").Range("D2:D3"), 0)
If IsNumeric(stateMatch) And IsNumeric(numOwnerMatch) Then
If numOwnerMatch = 1 Then
Worksheets("1st OwnerStatement").Visible = True
Worksheets("1st OwnerPPW").Visible = True
End If
If numOwnerMatch = 2 Then
Worksheets("1st OwnerStatement").Visible = True
Worksheets("2nd OwnerStatement").Visible = True
Worksheets("1st OwnerPPW").Visible = True
Worksheets("2nd OwnerPPW").Visible = True
End If
End If
End With
End Sub
Sub-owner()
将ws设置为工作表
Dim stateMatch作为变量
Dim numOwnerMatch作为变体
对于此工作簿中的每个ws。工作表
如果ws.Name ThisWorkbook.ActiveSheet.Name,则
ws.Visible=xlSheetHidden
如果结束
下一个ws
带工作表(“开始”)
stateMatch=Application.Match(.Range(“B2”).值,表(“List”).范围(“K2:K32”),0)
numOwnerMatch=Application.Match(.Range(“B3”).值,表(“List”).范围(“D2:D3”),0)
如果是数值型(stateMatch)和数值型(numOwnerMatch),则
如果numOwnerMatch=1,则
工作表(“第一所有者声明”)。可见=真实
工作表(“第一所有者”)。可见=真实
如果结束
如果numOwnerMatch=2,则
工作表(“第一所有者声明”)。可见=真实
工作表(“第二所有者声明”)。可见=真实
工作表(“第一所有者”)。可见=真实
工作表(“第二所有者”)。可见=真实
如果结束
如果结束
以
端接头
问题只是不一致,很难判断哪些块从何处开始和结束。嵌套结构应该看起来是嵌套的。给那个标签键它应得的爱!;-)