iT邦幫忙

0

Excel VBA IF 執行問題

  • 分享至 

  • xImage

以下為我的指令
Public Sub 查詢()
Application.ScreenUpdating = False
X = Range("B2")
Sheets("MI總檔").Select
For i = 3 To 244
If Cells(i, "B") = X Then
Sheets("範例").Range("B5") = Cells(i, "D")
Sheets("範例").Range("C5") = Cells(i, "E")
Sheets("範例").Range("D5") = Cells(i, "F")
Sheets("範例").Range("E5") = Cells(i, "G")
Sheets("範例").Range("F5") = Cells(i, "H")
Sheets("範例").Range("G5") = Cells(i, "I")
Sheets("範例").Range("H5") = Cells(i, "L")
Sheets("範例").Range("I5") = Cells(i, "M")
Sheets("範例").Range("J5") = Cells(i, "J")
Sheets("範例").Range("K5") = Cells(i, "K")
Sheets("範例").Range("L5") = Cells(i, "N")
Sheets("範例").Range("M5") = Cells(i, "O")
End If
Next
Sheets("範例").Select
Application.ScreenUpdating = True
End Sub

不知道為什麼每次執行的時候發現設下截點用F8查詢時發現當條件B2條件符合卻不會執行查詢的資料回傳
狀態如下
圖一
https://ithelp.ithome.com.tw/upload/images/20210119/20134508NFVm2a8j6e.jpg
圖二、直接跳到結束
https://ithelp.ithome.com.tw/upload/images/20210119/20134508qObaC1MBR7.jpg

請問一下這個問題應該如何挑整?
另外請外一下,假如B2欄位的值查詢不到結果,想print文字於B5欄位,該如何新增該指令呢

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
paicheng0111
iT邦大師 5 級 ‧ 2021-01-19 17:36:31

請問一下這個問題應該如何挑整?

改成這樣試試看

If Cells(i,"B") = Range("B2") Then

另外請外一下,假如B2欄位的值查詢不到結果,想print文字於B5欄位,該如何新增該指令呢

Range("B5").Value = "查不到值"
0
海綿寶寶
iT邦大神 1 級 ‧ 2021-01-20 08:02:32

可以
1.用debug.print X
2.「在除錯模式單步執行時,停在那一列(例:IF 那一列),把滑鼠游標移到該變數上」
顯示出該變值
看看是否是你以為的值

我要發表回答

立即登入回答