[[20050905113617]] 『1000シートのA1を一つのシートに纏める』(RK) ページの最後に飛ぶ

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

 

『1000シートのA1を一つのシートに纏める』(RK)

[シートのA1に、名前が入っています。1000シートそれぞれに違う名前が
入っています。その名前全てを、一つのシートに纏めることは出来ますか?
1セルに1人分の名前が表示されるようにしたいんです。よろしくお願いします。]


 エクセルで1000ものシートを扱うのが適当かどうかは疑問がありますが、
 それはともかくご質問の場合は、それぞれのシート名に連番がついているような場合であれば、
 関数での抜き出しができます。

 例えば、Sheet1のA2セルにSheet2のA1セル、A3セルにSheet3のA3セルを表示するには、
 Sheet1のA2セルに

 =INDIRECT("Sheet"&ROW()&"!A1")

 として、下にコピーすればできます。

 シート名に番号が含まれていない場合は関数では無理かと思います。
 VBAであれば可能かと思いますが、それは私の得意分野ではないので、
 他の方からのご回答をお待ち下さい。
 (sato)


 勘違い・・・
 削除します。
 (キリキ)m(_ _)m

 マクロで作ってみました。
 うまくいけば良いのですが、、、

 集計シートというシートを用意してください。
 集計シートのA1から下に名前が入ると思います。

 標準モジュールにコピペ
'------------------------
Sub test()
    Dim Sh As Worksheet, S_Sh As Worksheet
    Dim MyA() As Variant
    Dim i As Long, n As Long
    n = Worksheets.Count - 1
    ReDim MyA(1 To n)
    Set S_Sh = Worksheets("集計シート")
    For Each Sh In Worksheets
        If Sh.Name <> S_Sh.Name Then
            i = i + 1
            MyA(i) = Sh.Range("A1").Value
        End If
    Next Sh
    S_Sh.Range("A:A").Clear
    S_Sh.Cells(1, 1).Resize(n).Value = Application.Transpose(MyA)
End Sub

 (キリキ)(;⌒o⌒)b


せっかく教えていただいたのですが、関数の知識が乏しく出来ませんでした。
マクロの方ではなんとか成功しました。!
1000シート分、手打ちするところでした。。。どうもありがとうございました!!
(RK)

コメント返信:

[ 一覧(最新更新順) ]


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