应用程序功能与 if 代码的问题
Trouble with application function vs if code
为什么这段代码不起作用。任何人都可以帮助简单的代码?我这样写代码:
Private sub cmbStart_click()
Dim bro as application
Dim bre as integer
Dim bru as control
For bre = 1 to 42
Set bru = controls("cmb" & bre).caption
Set bro = application.worksheetfunction.vlookup(bre, sheets("keg").range("c2:f300"),4,0)
If bro = "es" then
Controls("cmb" & bre).backcolor = rgb(255,0,0)
Else
Controls("cmb" & bre).backcolor = rgb(255,0,0)
End if
Next bre
End sub
Vlookup()
不是 return 一个 应用程序 所以声明 bro
是一个 Application
是没有意义的。
简直
Dim bro As Variant
'...
bro = Application.Worksheetfunction.Vlookup(bre, sheets("keg").Range("c2:f300"),4,0)
同样,没有理由将 bru
声明为 control。标题只是 String
.
因此:
Dim bru As String
'...
bru = controls("cmb" & bre).caption
VBA 主要是 使用 object 的命令式语言。你似乎试图让一切成为 object.
我无法测试代码,但上面的代码更有意义 VBA。
如果这不能解决问题,您需要进一步说明 代码为何不起作用。简单地报告它不起作用不是很有帮助。
为什么这段代码不起作用。任何人都可以帮助简单的代码?我这样写代码:
Private sub cmbStart_click()
Dim bro as application
Dim bre as integer
Dim bru as control
For bre = 1 to 42
Set bru = controls("cmb" & bre).caption
Set bro = application.worksheetfunction.vlookup(bre, sheets("keg").range("c2:f300"),4,0)
If bro = "es" then
Controls("cmb" & bre).backcolor = rgb(255,0,0)
Else
Controls("cmb" & bre).backcolor = rgb(255,0,0)
End if
Next bre
End sub
Vlookup()
不是 return 一个 应用程序 所以声明 bro
是一个 Application
是没有意义的。
简直
Dim bro As Variant
'...
bro = Application.Worksheetfunction.Vlookup(bre, sheets("keg").Range("c2:f300"),4,0)
同样,没有理由将 bru
声明为 control。标题只是 String
.
因此:
Dim bru As String
'...
bru = controls("cmb" & bre).caption
VBA 主要是 使用 object 的命令式语言。你似乎试图让一切成为 object.
我无法测试代码,但上面的代码更有意义 VBA。
如果这不能解决问题,您需要进一步说明 代码为何不起作用。简单地报告它不起作用不是很有帮助。