[[20160519142005]] 『シート名をセル値に入力』(マクロ勉強中) ページの最後に飛ぶ

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

 

『シート名をセル値に入力』(マクロ勉強中)

シート名取得について教えていただきたいです
お願いします

ActiveSheet.Range("A13") = ActiveSheet.Name

上記のように書けばアクティブシートは扱えますが
複数シート同時に行うにはどの様にすればいいのでしょうか

又 入力セル値はシート名の頭3文字で
 B桁データあるまで 入力したい 

< 使用 Excel:Excel2010、使用 OS:Windows7 >


ActiveSheetは、現在使用しているシートを返しますね。
全シートの場合は、Sheetsオブジェクトに格納されているので、これを参照しましょう。

どんな出力にしたいのかさっぱり判らないのですが、こんな感じでしょうか?

 Sub test()
    Dim i As Long

    For i = 1 To Sheets.Count
        ActiveSheet.Cells(i + 12, "B").Value = Left(Sheets(i).Name, 3)
    Next i
 End Sub
(???) 2016/05/19(木) 14:51

???様

全シート名取得ではなく
各々シートのA13から B桁データあるまでシート名頭3文字を入れたいのです

     A      B
13  シート名  りんご
14  シート名  ばなな
15  シート名  すいか

この様にしたいのです
B列にはおおよそ 500行くらいのデータでして
シートは15くらいあります

お手数かけてごめんなさい

(マクロ勉強中) 2016/05/19(木) 15:19


まだ何を知りたいのかが全く判らないです…。

シート数が15くらいで、B列が500列とはどういう意味でしょう? 横に長いのですか?
A列もB列も15行分定義されているように思えるのですが…。

今はA13:B15の例ですよね? これがA13:A27とB13:B512になるのか、A13:SG15になるのか…。
でもって、自動的に3文字入れたいセルは、どのシートのどこでしょうか?
(???) 2016/05/19(木) 15:40


15シートで500行くらい。見る列はB列で、セットしたいのはA列、という風に仮定した場合の例なぞ。

 Sub test()
    Dim i As Long
    Dim iw As Long

    For i = 1 To Sheets.Count
        With Sheets(i)
            .Range("A13", .Cells(.Rows.Count, "B").End(xlUp).Offset(0, -1)).Value = Left(Sheets(i).Name, 3)
        End With
    Next i
 End Sub
(???) 2016/05/19(木) 15:47

???様

遅くなって申し訳御座いません
有難う御座いました
(マクロ勉強中) 2016/05/20(金) 15:07


コメント返信:

[ 一覧(最新更新順) ]


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