標題:
動態資料範圍 名稱定義
[打印本頁]
作者:
ciboybj
時間:
2014-7-23 17:21
標題:
動態資料範圍 名稱定義
大家好
想請問大家
我有一個excel 內有多個sheet
各個sheet 中的有資料範圍不固定
想請問要如何利用vba 快速地將各個sheet中有資料的範圍進行名稱定義
謝謝
作者:
ciboybj
時間:
2014-7-23 23:24
以下為我目前的解決方法
Dim i As Integer
For i = 1 To n 'n=sheet的總數
Sheets("第" & i & "項").Select
Sheets("第" & i & "項").UsedRange.Select
ActiveWorkbook.Names.Add name:="第" & i & "項", RefersTo:=Selection
Next
作者:
ML089
時間:
2014-7-24 00:34
回復
1#
ciboybj
Sub ex()
shs = Array("sheet1", "sheet2")
For Each sh In shs
Sheets(sh).Select 'Activate
EndRow = Cells(Cells.Rows.Count, 1).End(xlUp).Row
Set Rng = Range("A2:A" & EndRow)
'方法1 靜態範圍名稱,A欄資料以A1為名稱
Names.Add Name:=[A1], RefersTo:=Rng
'方法2 動態範圍名稱,B欄資料以B1為名稱
Names.Add Name:=[B1], RefersTo:="=Offset($B$1,,,COUNTA($B:$B)-1)"
Next
End Sub
複製代碼
作者:
ciboybj
時間:
2014-7-24 12:45
謝謝~
不過我有個問題想再向您請教
由於我的SHEET並非我自行建置的
所以有出現類似SHEET1(名稱為第一項),SHEET3(名稱為第二項)
因此,如是使用您的CODE不知要怎麼改
作者:
Hsieh
時間:
2014-7-24 16:21
回復
4#
ciboybj
Sub ex()
Dim Sh As Worksheet
For Each Sh In Sheets '所有工作表迴圈
With Sh
ActiveWorkbook.Names.Add .Name, .UsedRange '以工作表名稱為名,所有資料為範圍,新增定義名稱
End With
Next
End Sub
複製代碼
作者:
ciboybj
時間:
2014-7-24 20:43
謝謝大家
讓我學習了~~~
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)