• ベストアンサー

VBAでブック名の拡張子を除去してシートにコピー

VBA初心者でコード作成で困っております。 下記の通りコードを組みましたが、シート名をブック名に変更して 保存したいのですが、このコードですと拡張子までついてしまいます。 拡張子を除去するためにはどうすればよいでしょうか? アドバイス宜しくお願い致します。 Sub test() 'シート名の変更 Dim MyPath As String Dim MyFile As String Dim Wb As Workbook MyPath = "C:\TEST\" MyFile = Dir(MyPath & "*.xlsx") Do While MyFile <> "" Set Wb = Workbooks.Open(MyPath & MyFile) ActiveSheet.Name = ActiveWorkbook.Name Application.DisplayAlerts = False Wb.Save Application.DisplayAlerts = True Wb.Close (False) MyFile = Dir() Loop End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

拡張子が .xlsx と決まっているなら ActiveSheet.Name = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5) では?

hinketsu
質問者

お礼

ご回答ありがとうございます。 アドバイスして頂いたコードで無事出来ました。 とても参考になりました。 ありがとうございました。

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

下記の方法でファイル名だけを取得出来ます。 tmp = "aaaac.xlsx" MsgBox Left(tmp, Len(tmp) - 5) ---------------------------------------------- tmp = ActiveWorkbook.Name ActiveSheet.Name = Left(tmp, Len(tmp) - 5)

hinketsu
質問者

お礼

早々のご回答ありがとうございます。 問題解決しました。 大変勉強になりました。 ありがとうございました。

関連するQ&A