ls
发表于 2012-3-5 22:13
wuhairong2011
发表于 2012-3-6 11:24
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim book As Workbook
If Sh.Name = "Sheet1" And Target.Address = "$E$5" Then
Set book = Workbooks.Open(ThisWorkbook.Path & "/价格表.xls")
End If
Dim z As Integer
Dim c As Integer
With book
z = Application.CountIf(., Range("e5"))
If z < 0 Then
Range("e7") = "查找不到"
Exit Sub
Else
c = ..Find(Range("e5"), , , , , xlNext).Row
Range("e7") = .Cells(c, 2)
book.Close
End If
End With
End Sub
这是我做的成果,结果是错的,,但坚持交业,等待校长给我们讲解做业
君子豹变
发表于 2012-3-6 12:46
君子豹变 发表于 2012-3-3 15:56 static/image/common/back.gif
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim JJB As Workbook
...
谢谢老师改作业。可是我第一次的错了吗?我不知道。
jiahua1010
发表于 2012-3-6 15:54
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim wsh As Worksheet
Dim i As Integer
Dim a, b As String
If Sh.Name = "Sheet1" And Target.Address = "$E$5" Then
a = Range("E5")
Workbooks.Open ThisWorkbook.Path & "/价格表.xls"
Set wsh = Workbooks("价格表.xls").Sheets("sheet1")
For i = 1 To wsh.Range("A65536").End(xlUp).Row
If wsh.Cells(i, 1) = a Then
b = wsh.Cells(i, 2)
Exit For
End If
Next
ActiveWorkbook.Close
If b <> "" Then
Range("E7").Value = b
Else
Range("E7").Value = "查找不到"
End If
End If
End Sub
DQ空气
发表于 2012-3-6 17:20
:(什么都锁着还用发表啊 学生看什么啊
开心妙妙
发表于 2012-3-6 18:46
本帖最后由 开心妙妙 于 2012-3-6 18:49 编辑
B:08开心妙妙
老师,无论如何最终还是没把这题搞掂。
对象变量那里不知道怎样传递
为什么我把 Workbooks("价格表.xls").Close 放在Next i前面
怎么就没 With Workbooks("价格表.xls").Sheets("Sheet1") 这个对象了呢?:@:@
jiahua1010
发表于 2012-3-7 09:50
看来我是交晚了,也不知道我的结果对不对。
laoau126
发表于 2015-6-13 17:48
4556666