ちょっと先の未来クイズ第4問

こんにちは。早速教えていただきたいことがあります。
上記の件ですが、アクティブシートより右方向へシートの追加をしたいです。
またその時に名前に規則性をつけたいです。
例)16年度4月・16年度5月~16年度3月  という感じで
頭の16年度はそのままコピーにてその続きとして追加するシートの数を指定し連番を振りたいのです。
初心者です。
シンプルで読みやすいものを教えてくださるとうれしいです。

A 回答 (2件)

どの辺が不明な点で、どのあたりまでは自力で書けますか?


下記は(あえて)全て希望通りにしていませんが参考程度にはなるでしょうか、、、

実行して日付を入力するとその年月から12枚のシートを作成します。
(4月から翌年3月までを同一年度として作成)

Sub aaa()
Dim ws As Worksheet, myDate
myDate = Application.InputBox("開始日入力", "日付指定", _
           Format(Date, "yyyy/m/d"), Type:=2)
If Not IsDate(myDate) Then Exit Sub
On Error Resume Next
For i = 0 To 11
 With Worksheets
  Set ws = .Add(after:=Worksheets(.Count))
  Select Case Month(myDate) + i
   Case 1 To 3, 13 To 15
     ws.Name = Format(DateSerial(Year(myDate) - 1, _
          Month(myDate) + i, 1), "e年度m月")
   Case Else
     ws.Name = Format(DateSerial(Year(myDate), _
          Month(myDate) + i, 1), "e年度m月")
  End Select
 End With
Next i
End Sub
    • good
    • 0
この回答へのお礼

お礼が遅くなりましたことをお詫びいたします。すみませんNCU さんからのご指摘をいただき自分の身勝手さに気づき反省しているところです。
にもかかわらずpapayukaさんはヒントとしてご回答していただき本当にありがとうございました。NCUさんにもお話しておりますが、色々自分でも試行錯誤してきました。動かないんです。本当に困っていたのです。ただ自分が書いたものが稚拙と思われるのが恥ずかしくて質問の中にかけませんでした。すみません。papayukaさんのご回答をヒントにもう少しがんばってみたいと思います。ありがとうございました。

お礼日時:2006/07/30 20:39

試してみたがどこでどういうエラーが出ました、という形で質問して下さい。


やりたい事を書いて「コード下さい」、というような依頼が、この掲示板だから許されるという事はないと思いますよ。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
いわれてみてはっとしております。
本当にその通りですね。甘い考えでした。不愉快な気持ちにさせてしまい申し訳ありませんでした。
それで補足させていただきたいのですが、実は過去に一度上手く動いた経験があります。それでそのときのデータや参考書を開いて探したり書いてためしたりしておりました。それでもなかなか上手くいかなかったのです。ではなぜ自分が書いたものを説明に触れなかったかと申しますと本当に深い知識をお持ちの方々がみられているという意識が働き恥ずかしくて書くことができませんでした。(笑われるのではと思い)
まぁ笑われても仕方ないくらいのスキルなのでしかたのないことなのですが。
自分の思いと質問を投げかけられた方の受け取り方というのはやはり異なる可能性が大きいということを再認識しました。
以後気をつけます。アドバイスありがとうございました。

お礼日時:2006/07/30 20:34

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報