|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 yygpd500 于 2012-5-17 23:31 编辑
既是真心求助,那就真心回贴了,^_^,如下:
rowsmax变量未赋值!
事后补:在循环体中使用Worksheets("标养强度").cells(7, 15)这样的方法,极大降低代码运行速度,很糟糕。应该用一变量去代替它如下:
Dim TheValue as variant
TheValue=Worksheets("标养强度").cells(7, 15).Value
然后再在循环体中使用If Worksheets("配料单台账").cells(i, 3) = TheValue Then ……
下列代码供参考:
- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- Dim i As Long, rowsmax As Long, TheValue As Variant
- TheValue = Worksheets("标养强度").Cells(7, 15).Value '因为TheValue定义为变体型变量,.Value不可省
- i = 1
- rowsmax = 100 '不知你意图,假定了个数值
- With Worksheets("配料单台账")
- For i = 1 To rowsmax
- Worksheets("标养强度").Cells(8, 3) = .Cells(i, 7)
- If TheValue = .Cells(i, 3) Then Exit For
- Next i
- End With
- End Sub
复制代码
|
|