0
マクロを使用してシートを1つのExcelファイルにコピーします。マクロは古いプロジェクトのものなので、微調整が必要です。それは次のようになります。別のファイルにコピー中にシート名を変更
私は必要なもの、私はコピーシートの名前を変更する方法です元のファイルからシート名のinsted、私はそれがファイル名に名前を変更することを希望、またはファイル名を追加しますシート名に。古いマクロコードにコメントはありません
マクロを使用してシートを1つのExcelファイルにコピーします。マクロは古いプロジェクトのものなので、微調整が必要です。それは次のようになります。別のファイルにコピー中にシート名を変更
私は必要なもの、私はコピーシートの名前を変更する方法です元のファイルからシート名のinsted、私はそれがファイル名に名前を変更することを希望、またはファイル名を追加しますシート名に。古いマクロコードにコメントはありません
(私は個人的に限り、それはそれは大丈夫だ作品としてWindows(sFname).Activate
が好きでないが)、これはシート名を変更するために何をするかです:
Sub CombineSheets()
Dim sPath As String
Dim sFname As String
Dim wBk As Workbook
Dim wSht As Variant
Application.EnableEvents = False
Application.ScreenUpdating = False
sPath = InputBox("Enter a full path to workbooks")
ChDir sPath
sFname = InputBox("Enter a filename pattern")
sFname = Dir(sPath & "\" & sFname & ".xl*", vbNormal)
wSht = InputBox("Enter a worksheet name to copy")
Do Until sFname = ""
Set wBk = Workbooks.Open(sFname)
Windows(sFname).Activate
Sheets(wSht).Copy Before:=ThisWorkbook.Sheets(1)
'add this line --v
ThisWorkbook.Sheets(1).Name = "stack" & Replace(Time, ":", "")
'this line is added --^
wBk.Close False
sFname = Dir()
Loop
ActiveWorkbook.Save
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
。なお、名前が同じであるため、複数のワークシートを保存しようとすると速すぎるループを作成すると、エラーが発生する可能性があります。したがって、名前のためのカウンターを導入することは賢明な考えです。