• ベストアンサー

VBA中の”シート名”を”アクティブシート”に変更

いつもお世話になっております。 非常に初歩的な質問なのですが、下記の2つのVBA中のシート名をアクティブシートに変更したいのですが、 sheetName = ActiveSheet.Name で試行錯誤するもうまくいきません。 実際のコードは下記の通りです。 これらのシート名”申請書”をアクティブシートに変更したいのです。 このコードは過去にここで教えて頂いたコードで出来ればこれを修正したいので宜しくお願いします。 1.Sub 申請書登録() Dim NewBookName As String With ThisWorkbook.Sheets("申請書") Windows("1.新規・変更登録申請書(原紙)・リスト②T用.xlsm").Activate For i = 5 To Sheets("規格登録・変更リスト").Range("A1048576").End(xlUp).Row + 1 If Sheets("規格登録・変更リスト").Range("B" & i).Value = "" Then With Sheets("規格登録・変更リスト") .Range("A" & i).Value = Sheets("申請書").Range("E3").Value .Range("B" & i).Value = Sheets("申請書").Range("O3").Value .Range("C" & i).Value = Sheets("申請書").Range("E4").Value ・・・・・・・・・・・・・・・・・・・ 2.Sub 申請書保存() Dim NewBookName As String With ThisWorkbook.Sheets("申請書") NewBookName = .Range("F22").Value & " " & .Range("E4").Value & " " & .Range("A2").Value & " " & .Range("A1").Value Worksheets("申請書").ExportAsFixedFormat Type:=xlTypePDF, Filename:="\***\XXXX\1.申請書\申請書" & "\" & NewBookName End With End Sub

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.1

Dim Ws As Worksheet Set Ws = ActiveSheet With Ws で以降 Sheets("申請書") とかの部分を Ws に変更すればいいんじゃないですか。

akira0723
質問者

お礼

複数のシートでご回答のVBAが動くことを確認し、また各シートのVBAも試行錯誤で何とか動くようになりました。 早々のご回答に改めて感謝!

akira0723
質問者

補足

早々のご回答ありがとうございます。 早速試してみました。 当方はご回答の内容もすぐには理解できないレベルなのですが何回か試行したら、何とこれだけですんなり動きました。 尚、これから実際のBookで種々確認してから締め切らせて頂きます。 これまで慌てて締め切って失敗したことがあるので。 早々に解決でき助かりました。

関連するQ&A