• ベストアンサー

シートを追加したときにタイトルの連番も自動で

WindowsXP EXCELL2003 いつも御世話になります。 納品書と請求書が一緒になった 「納請書」 がブックには3シートを用意しています。 受注が追加されるごとにこの「納請書3」のコピーとして追加します。 図で言うと「納請書4」という具合にです。 この場合 「納請書3」のコピーですからタイトルは B3 納品書(3) B32 請求書(3)   となりこれを B3 納品書(4) B32 請求書(4) と自動的に変えられる方法はないでしょうか。 可能ならばご指導いただけませんでしょうか。 ※現在は 入力規則 でその都度、手動で対応していますが結構変更ミスが多く防止をしたいためです。 シートのコピーのマクロは以下です。 Sub シートの追加() Dim NewNo As Integer NewNo = Sheets("月請求書").Index Sheets("納請書3").Copy Before:=Sheets("月請求書") ActiveSheet.Name = "納請書" & NewNo End Sub

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

マクロを使わなくともB3セルにシート名から作成する次のような式を入力しておくことでコピーが作られてもそのシート名に対応した名前が表示されますね。 ="納品書 (" & MID(TRIM(MID(CELL("filename",B3),FIND("]",CELL("filename",B3))+1,10)),4,LEN(TRIM(MID(CELL("filename",B3),FIND("]",CELL("filename",B3))+1,10)))-3) & ")" また、B32セルには次の式を入力します。 ="請求書 (" & MID(TRIM(MID(CELL("filename",B32),FIND("]",CELL("filename",B32))+1,10)),4,LEN(TRIM(MID(CELL("filename",B32),FIND("]",CELL("filename",B32))+1,10)))-3) & ")"

dorasuke
質問者

お礼

いつも クリモトさん に御世話になります。 心より感謝します。 お陰でうまくいきました。 誠に有難うございました。

その他の回答 (2)

  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

おや、どこかで見たコードだなぁ。。。(^^;; というこで、今回も回答せねば。。 '--------------------------------------------- Sub シートの追加()  Dim NewNo As Integer  NewNo = Sheets("月請求書").Index  Sheets("納請書3").Copy Before:=Sheets("月請求書")  ActiveSheet.Name = "納請書" & NewNo  ActiveSheet.Range("B1").Value = "納 品 書(" & NewNo & ")"  ActiveSheet.Range("B32").Value = "請 求 書(" & NewNo & ")" End Sub '-------------------------------------------- 以上です。  

dorasuke
質問者

お礼

No3にて解決しました。 いつも御世話になります。 心より感謝します。 誠に有難うございました。

dorasuke
質問者

補足

前回は有難うございました。 テストして、 シートを追加して「納請書3」をコピーして 納品書4 請求書4 はうまくいきました。 このタイトルが左寄りになってセンター寄せにしたいのですが。 半角で17回エンターを寄せればセンターに来るのですがどうすればいいでしょうか。 恐れ入りますが宜しくご指導いただけませんか。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

Range("B3").Value = "納品書(" & NewNo & ")" Range("B32").Value = "請求書(" & NewNo & ")"

dorasuke
質問者

お礼

No3にて解決しました。 いつも御世話になります。 誠に有難うございました。

関連するQ&A