あなたの習慣について教えてください!!

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

「シートを追加したときにタイトルの連番も自」の質問画像

A 回答 (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) & ")"
    • good
    • 0
この回答へのお礼

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

誠に有難うございました。

お礼日時:2009/10/14 14:00

おや、どこかで見たコードだなぁ。

。。(^^;;
というこで、今回も回答せねば。。

'---------------------------------------------
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
'--------------------------------------------

以上です。
 

この回答への補足

前回は有難うございました。

テストして、
シートを追加して「納請書3」をコピーして 納品書4 請求書4 はうまくいきました。
このタイトルが左寄りになってセンター寄せにしたいのですが。

半角で17回エンターを寄せればセンターに来るのですがどうすればいいでしょうか。

恐れ入りますが宜しくご指導いただけませんか。

補足日時:2009/10/14 13:35
    • good
    • 0
この回答へのお礼

No3にて解決しました。
いつも御世話になります。
心より感謝します。

誠に有難うございました。

お礼日時:2009/10/14 14:02

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


Range("B32").Value = "請求書(" & NewNo & ")"
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/10/14 14:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!