Excel vbaでシート一覧とグラフ一覧を取得する
実行するとアクティブシートの1行目にラベル、2行目以降に各シートのグラフ名を列挙します。
A列 Sheet Name シート名
B列 Graph Name グラフ名(カンマ区切り)
C列 paste1.txt(全部同じ)
D列 PageDown 1(全部同じ)
E列 Comment シート名
Sub sht_get()
Dim dt, cnt, buf, sh, g
cnt = 2
ReDim dt(1 To Worksheets.Count + 1, 1 To 5)
dt(1, 1) = "Sheet Name"
dt(1, 2) = "Graph Name"
dt(1, 3) = "Paste"
dt(1, 4) = "PageDown"
dt(1, 5) = "Comment"
For Each sh In ThisWorkbook.Sheets
If sh.ChartObjects.Count = 0 Then GoTo skip_syori
dt(cnt, 1) = sh.Name
buf = ""
For Each g In sh.ChartObjects
buf = buf & "," & g.Name
Next g
dt(cnt, 2) = Mid(buf, 2)
dt(cnt, 3) = "paste1.txt"
dt(cnt, 4) = 1
dt(cnt, 5) = sh.Name
cnt = cnt + 1
skip_syori:
Next sh
Cells(1, 1).Resize(cnt - 1, 5) = dt
End Sub
0 件のコメント:
コメントを投稿