Board logo

標題: [發問] 請幫小弟除錯...是不能連續用find函數嗎?! [打印本頁]

作者: VBALearner    時間: 2016-8-15 16:41     標題: 請幫小弟除錯...是不能連續用find函數嗎?!

本帖最後由 VBALearner 於 2016-8-15 16:55 編輯

小弟我想要找兩個目標儲存格十字交錯的儲存格值
但不知道錯在哪裡...還請高手賜教除錯,感激不盡!
(提醒一下:非VBA程式碼的回答,例如用直接在worksheet上面的儲存格打index...都不是我想要的答案,大概的目的是要能在多個工作表中的資料裡查多個不同儲存格的值,感謝各位!)
  1. Sub test()

  2.     Dim rng1, rng2 As Range
  3.     號碼 = CStr(Cells(3, 17).Value)
  4.     日期 = CStr(Cells(2, 18).Text)
  5.    
  6.     With Sheets(1)
  7.         .Activate
  8.         Set rng1 = .Range("A:A").Find(號碼)
  9.         Set rng2 = .Range("A1:A20").Find(日期)
  10.         Cells(3, 18).Value = Cells(rng1.Row, rng2.Column).Value
  11.     End With
  12.    
  13. End Sub
複製代碼
[attach]24942[/attach]
作者: lpk187    時間: 2016-8-15 17:36

本帖最後由 lpk187 於 2016-8-15 17:46 編輯

回復 1# VBALearner


    程式有誤已幫你修正,日期必須宣告為Date ,Find才會找到
應該要養成宣告變數的習慣!
  1. Sub test()

  2.     Dim rng1 As Range, rng2 As Range
  3.     Dim 日期 As Date
  4.     With Sheets(1)
  5.         號碼 = .Cells(3, 18)
  6.         日期 = .Cells(2, 19)
  7.         '.Activate'這行可以不用
  8.         Set rng1 = .Columns(1).Find(號碼)
  9.         Set rng2 = .Rows(1).Find(日期, LookIn:=xlValues)
  10.         .Cells(3, 19) = .Cells(rng1.Row, rng2.Column).Value
  11.     End With
  12.    
  13. End Sub
複製代碼

作者: VBALearner    時間: 2016-8-15 21:20

回復 2# lpk187

O____O! 原來是這樣一個小錯誤...感謝lpk大一直解決我的問題OwQ 感激不盡!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)