標題:
[發問]
(已解決)如何搭配的儲存格數量不同自動新增對應的工作表
[打印本頁]
作者:
freeffly
時間:
2011-4-22 12:27
標題:
(已解決)如何搭配的儲存格數量不同自動新增對應的工作表
本帖最後由 freeffly 於 2012-2-22 17:04 編輯
VBA要怎麼修才能判斷當工作表的數量與要搭配的儲存格數量不同時,會自動新增對應的工作表?
如A40之後再增加”個17~個22”要怎麼寫VBA讓VBA自己增加這些工作表?
[attach]5736[/attach]
作者:
GBKEE
時間:
2011-4-22 15:18
回復
1#
freeffly
Sub Ex()
Dim R As Range
On Error GoTo Out:
With Sheets("彙總")
For Each R In .Range("B:B").SpecialCells(xlCellTypeFormulas, xlErrors) '處裡B欄中公式有錯誤值的儲存格
With Sheets.Add
.Name = R.Offset(, -1).Text
.[a1] = R.Offset(, -1).Text
End With
Next
.Activate
End With
Out:
End Sub
複製代碼
作者:
freeffly
時間:
2011-4-23 15:03
回復
2#
GBKEE
大大你的方法好像只有在B欄公式有問題時才處理
可以在A欄有資料B欄空白或是公式有問題處理?
原本我的思維是判斷那些儲存格數量跟工作表數量去做迴圈
可惜我寫出來會有問題,大大的方式也提供了我不同的思考
先謝謝!
作者:
GBKEE
時間:
2011-4-23 17:38
回復
3#
freeffly
A欄有資料
Sub Ex() '處裡A欄有資料的儲存格
Dim R As Range
With Sheets("彙總")
For Each R In .Range("A:A").SpecialCells(xlCellTypeConstants)
On Error Resume Next
Sheets(R.Text).Activate
If Err > 0 Then
With Sheets.Add
.Name = R.Text
.[a1] = R.Text
End With
Err.Clear
End If
Next
.Activate
End With
End Sub
複製代碼
作者:
freeffly
時間:
2011-4-23 18:52
回復
4#
GBKEE
看了大大這兩個例子又讓我學到一些
跟我原本的思考方式不太一樣
謝謝!
作者:
Hsieh
時間:
2011-4-23 19:29
回復
3#
freeffly
Sub ex()
Dim A As Range '此例只適用工作表明稱為來源參照內容
If WorksheetFunction.CountIf(UsedRange, "=#REF!") = 0 Then Exit Sub
For Each A In Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
If A.Value = CVErr(xlErrRef) Then
Set b = A.Precedents '來源參照
Sheets.Add(after:=Sheets(Sheets.Count)).Name = b.Text
End If
Next
End Sub
複製代碼
作者:
freeffly
時間:
2011-4-23 19:54
回復
6#
Hsieh
Hsieh 大第三行就出現錯誤,你的方法好像是不是只有當有錯誤值時才執行?
作者:
Hsieh
時間:
2011-4-23 23:43
回復
7#
freeffly
If WorksheetFunction.CountIf(UsedRange, "=#REF!") = 0 Then Exit Sub
應該要指名工作表
If WorksheetFunction.CountIf(Sheet8.UsedRange, "=#REF!") = 0 Then Exit Sub
這是指該工作表內有產生參照錯誤的儲存格數量,如果此數量為0就退出程序
作者:
freeffly
時間:
2011-4-25 08:24
回復
8#
Hsieh
謝謝回覆,大大的方式再找時間研究看看
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)