小編致力于為大家奉獻最有效的經驗,讓大家能夠解決掉問題,但是大家也都知道,每個人遇到的情況都是不一樣的,大家在看小編經驗的同時,除了跟隨操作,也需要自己的思考,舉一反三的解決問題,這樣才會變得更加有內涵,成為和小編一樣的經驗達人。excel中使用vba歷遍工作表中所有工作薄的方法,這里,讓小編給大家介紹一下。
首先我們打開一個工作樣表作為例子。
打開vba編輯器,并且插入一個新的模塊,并輸入以下代碼:
Sub 歷遍單元格公式()
Dim wb1 As Workbook, ws1 As Worksheet
Dim rng As Range, rng1 As Range
For Each wb1 In Workbooks
With wb1
If MsgBox("是否刪除工作簿"" & wb1.Name & ""中的所有公式?", _
vbQuestion + vbYesNo) = vbYes Then
For Each ws1 In .Worksheets
On Error Resume Next
Set rng1 = ws1.UsedRange.SpecialCells(xlCellTypeFormulas)
'獲取公式單元格區域引用
Next
End If
End With
Next
End Sub
這里我們定義wb1變量為工作表,ws1變量為工作薄,rng變量為活動單元格區域。
歷遍工作表中所有的工作薄,with wb1是指代當前工作表,簡化了后面的代碼,完整的寫出來是這樣的wb1.worksheets. vbQuestion是在msgbox中顯示一個問號符號。而vbyesno是顯示兩個確定選擇按鈕。
接下來歷遍工作表中的所有工作薄。On Error Resume Next語句的含義是如果發生錯誤繼續執行而不是中斷過程。set rng1變量為所有的含有公式的單元格。
我們試運行這個宏過程,得出的結果并沒有輸出。我添加一個輸出語句msgbox = ws1.name,大家看一下結果。
先寫到這里了,謝謝大家的觀看。
祝大家生活愉快。
小編還有許多其他的經驗可以觀看,如果無法解決問題可以聯系小編進行咨詢。
看不清楚圖片的可以點擊放大再看哦。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!