- 帖子
- 58
- 主題
- 9
- 精華
- 0
- 積分
- 117
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- 2003
- 閱讀權限
- 20
- 註冊時間
- 2017-12-2
- 最後登錄
- 2021-12-16
|
這個可正常運作,可以獲取該行碰到第一個na的位置,但我有疑問
Sub test1()
Dim max_row As Integer
Dim i As Integer
Calculate '重算所有儲存格
max_row = Sheets("contorl").Cells(Rows.Count, 2).End(xlUp).Row '獲取B欄最後一格的位置(第幾位)
For i = 2 To max_row
If Not IsError(Range("N" & i)) Then error_var = i '取得第一個碰到是NA的格子
Next i
Debug.Print "出現na位置"; error_var; "總行數"; max_row
End Sub
'這裡的If Not IsError(Range("N" & i)) Then error_var = i '取得第一個碰到是NA的格子
'照我理解應該要是If IsError(Range("N" & i)) Then error_var = i 才是有碰到NA把位置I寫進error_var裡
'但實際執行卻是If Not IsError(Range("N" & i)) Then error_var = i 才會把碰到的NA寫進error_var裡
;==================我是分格線====================
Sub test2()
Dim max_row As Integer
Dim i As Integer
Calculate '重算所有儲存格
max_row = Sheets("contorl").Cells(Rows.Count, 2).End(xlUp).Row '獲取最後一格的位置(第幾位)
For i = 2 To max_row
If Range("N" & i) = "E2" Then error_var = i '取得第一個碰到是E2的格子
Next i
Debug.Print error_var
End Sub
以上的巨集下面這句會報 "執行階段錯誤 '13': 型態不符合"
If Range("N" & i) = "E2" Then
請問應該如何修改
整體的需求是先從活頁簿contorl獲取B列有資料的最後一行數 再去判斷範圍N列是否有出現NA或著E2,若有則報錯
假設B列有10行,就是判斷N2~N10是否有出現NA或E2
EXCEL版本是2003 |
|