[[20040712094645]] 『セルにシート名が入るようにしたい』(ありんこ) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セルにシート名が入るようにしたい』(ありんこ)

教えて下さい!! 
郵便の集計をしているのですが、月ごとにファイルを作っています。
月ごとに1日〜30日までの営業日だけシートを作成して表の中に件数を
埋めていっています。
そこで、シート名が例えば6月1日と入れたらセルA1に平成16年6月1日と
自動で入るようにするにはどうしたらいいでしょうか?教えて下さい


 シートの見出しを右クリックして
 コードを表示させて、そこに貼り付けて下さい。
(夏目雅子似)
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Range("A1").Value = Me.Name
 End Sub
 で、どうでしょう?


ありがとうございました
すばらしいですっ!!出来ました・
これを使ってセルの書式設定であらかじめ平成16年○月○日と設定しておけば
いいのですね・・・
ちなみにこれを1日から30日まで作成したらファイルの容量は重くなりますか??
あらかじめこのコードを入れたシートをコピーしたら同じように使用できるのでしょうか?
教えて下さい!!


 >ちなみにこれを1日から30日まで作成したらファイルの容量は重くなりますか??

 ファイルサイズは関係ないとおもいます。

 >あらかじめこのコードを入れたシートをコピーしたら同じように使用できるのでしょうか?
 教えて下さい!!

 コードの入ったシートの見出しにCtrlキーを押しながらマウスを当てますと
 +の形にかわりますから、後は、ひょういっと、、ひょういっと、、って感じで
 私はいつもコピーしてます。
 で、どうでしょう?
(夏目雅子似)


ありがとうございましたっ
ばっちりできましたっ・・


 SelectionChange を使うと、セル選択の度にマクロが実行されて
 CPUに負担が掛かりそうですけど・・・

 1回設定するだけなら、イベントマクロでなくても良いかと思います。 

  (INA)

 はぁ、、失礼しましたぁ。。m(__)m
 >自動で入るようにするにはどうしたらいいでしょうか?
 とあったもので、、、すみませんm(__)m
 ↓の方が、ましですかね(・・;)
 もう、見てらっしゃらないかな?
(夏目雅子似)
 Private Sub Worksheet_Activate()
 Range("A1").Value = Me.Name
 End Sub

 ちなみにワークシート関数でもいけます。
「エクセル技道場」より
http://www2.odn.ne.jp/excel/waza/sheet.html#SEC5
=MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)
(KAMIYA)

 ありゃま、見ていてくださるといいのですがぁ、、、がくっ_/ ̄|○。。
(夏目雅子似)


 >1回設定するだけなら、イベントマクロでなくても良いかと思います。 

 Sub sample()
 Dim wb As Workbook
 Dim ym As String
 Dim myDate As Date
 Dim i As Long

 retry:
    ym = Application.InputBox("年月を入力して下さい。 入力例:2004/07" _
                       , "ブック作成マクロ", Format(Date, "yyyy/mm"), Type:=2)

    If ym = "False" Then
        MsgBox "キャンセルされました"
        Exit Sub
    ElseIf Len(ym) <> 7 Or Mid(ym, 5, 1) <> "/" Then
        MsgBox "入力が不正です。", vbExclamation, "エラー"
        GoTo retry
    End If

    Set wb = Workbooks.Add    

 With wb

    myDate = CDate(ym & "/01")
    ym = CDate(ym & "/01")

    For i = 1 To 31
        On Error GoTo Add_ws
        Worksheets(i).Name = Format(myDate, "m月d日")

       .Worksheets(i).Range("A1").Value = Format(myDate, "ggge年") & .Worksheets(i).Name

        myDate = myDate + 1
        If Month(myDate) <> Month(ym) Then
             .Worksheets(1).Activate
             Exit Sub
        End If
    Next i    

    .Worksheets(1).Activate
    Exit Sub

 Add_ws:
    .Worksheets.Add after:=.Worksheets(.Worksheets.Count)
    Resume
 End With
 End Sub

   (INA)

 うぅ〜ん、、びゅちふるぅ〜〜〜(@_@)
 (夏目雅子似)

 ありがとうございました
 分かりましたっ!!
 INAさんのVBAは、初心者の私には難しすぎて・・・・
 でも凄いです!!
 書き留めておきます ありがとうございました (ありんこ)

 ありゃま、
[[20040712130032]]『条件付書式』(ありんこ)
 の方と同じお方様でしたかぁ、、そうとは気づきませんで
 重ね重ね失礼いたしました。m(__)m
 SelectionChangeイベントはINA様のおっしゃる通りセルを動かす
 だけでも発生しますから、私が最初に提示した方法はご使用にならないで
 KAMIYA様の関数やINA様のマクロなどを参考にして下さい。
 あまり考えないで回答してしまってごめんなさいですm(__)m
(夏目雅子似)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.