作者zzatr (我還小)
看板Office
標題[算表] VBA On Error Resume Next
時間Mon Dec 18 20:52:49 2017
軟體:excel
版本:2016
大家好 目前看書自學VBA中
書本中範例要把其中一欄的名稱,逐一新增成工作表名稱並不重複
Sub test()
Dim i As Integer, sht As Worksheet
Set sht = Worksheets("工作表21")
i = 2
Do While sht.Cells(i, "C") <> ""
On Error Resume Next
If Worksheets(sht.Cells(i, "C").Value) Is Nothing Then
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = sht.Cells(i, "C").Value
End If
i = i + 1
Loop
End Sub
其中加入了On Error Resume Next,估狗了一下這個指令是忽略錯誤繼續執行
當我拿掉這行指令事就無法執行程序了,代表
If Worksheets(sht.Cells(i, "C").Value) Is Nothing Then
有問題嗎?可是我看不出問題在哪,想問為啥差這個指令差這麼多,還有上面那行錯在哪
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.143.15.249
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1513601571.A.79D.html
1F:→ newton41: Cells(r,c) 裡面放的是整數,不能用”C”。 12/18 23:28
2F:→ newton41: 抱歉,我錯了,可以用”C”。 12/18 23:33
3F:→ newton41: 如果少了那句,當worksheets is nothing 的時候就有Erro 12/18 23:38
4F:→ newton41: r,因為他不知道那是什麼,所以要加入那句讓錯誤發生時繼 12/18 23:38
5F:→ newton41: 續執行。 12/18 23:38
6F:→ zzatr: 可是 worksheets is nothing不就是表示當沒有這張工作表時 12/19 09:45
7F:→ zzatr: 請excel增加一張嗎? 我不知道這指令錯在哪XD 12/19 09:46
8F:→ soyoso: on error resume nexte後因worksheeets無該張工作表會回傳 12/19 09:57
9F:→ soyoso: 值nothing如不加就產生錯誤訊息 12/19 09:57
10F:→ soyoso: 回傳值方面可於on error resume next下設個變數來set該 12/19 10:12
11F:→ soyoso: worksheet()的部分,並以區域變數視窗或快速監看,看該變 12/19 10:14
12F:→ soyoso: 數(值)的部分 12/19 10:15
※ 編輯: zzatr (218.173.0.192), 12/21/2017 16:16:50