[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『パス名とブックのシート名全部を出力させたい』(眠神)
Excelの神髄というサイトで練習問題17からの学習をしているのですが、 練習17の見本通りにパス名とブック名を"練習17"のA列、 B列に入力して、 1つのブックから全てのシートを"練習17_回答"のA列にブック名、 B列にシート名を出力させたいのですが、 僕の場合"マクロ練習"のブックの全てのシートと、 "販売管理プログラム"のブックの全てのシートを"練習17_回答"に、 それぞれA列、B列に出力させたいのですが、 "マクロ練習"のブックとシートしか、"練習17_回答"のA列、B列に出力する事が出来ず、 "販売管理プログラム"のブック名と全てのシート名は出力出来ませんでした。 ちなみに練習問題17の解答通りにコードは入力しました。 長文申し訳ございませんが、もし良ければ、御教授頂けると幸いです。
Sub 練習問題17()
Dim i As Long
Dim j As Long
Dim wb As Workbook
Dim ws As Worksheet
Dim wsAns As Worksheet
Application.DisplayAlerts = False
For Each ws In Worksheets
If ws.Name = "練習17_回答" Then
ws.Delete
Exit For
End If
Next
Application.DisplayAlerts = True
Worksheets.Add after:=Worksheets("練習17")
Set wsAns = ActiveSheet
With wsAns
.Name = "練習17_回答"
.Cells(1, 1) = "ブック名"
.Cells(1, 2) = "シート名"
End With
j = 2
With Worksheets("練習17")
For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
Set wb = Workbooks.Open(.Cells(i, 1) & "\" & .Cells(i, 2))
wsAns.Cells(j, 1) = wb.Name
For Each ws In wb.Sheets
wsAns.Cells(j, 2) = ws.Name
j = j + 1
Next
wb.Close SaveChanges:=False
Next
End With
End Sub
https://excel-ubara.com/excelvba9/EXCELVBA617.html
< 使用 Excel:Excel2016、使用 OS:Windows10 >
>練習17の見本通りにパス名とブック名を"練習17"のA列、 B列に入力して、
何行目に書きましたか?
1行目はタイトルの想定らしいですが。 ※列番だけで、行番号をチャンと明示しない人もほめられないけども。。
(半平太) 2020/04/26(日) 00:04
よく見たら「i」とすべきところを「j」にしていたなんてこともあるでしょうし・・
(もこな2 ) 2020/04/26(日) 00:24
その方法もありましたねΣ(-᷅_-᷄๑) もこな2さん、ありがとうございます^_^ (眠神) 2020/04/26(日) 00:38
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.