
excel2000を利用しています。
シートが10枚以上あるexcelブックがあるのですが、これらのシートのフォーマットは全て同じで、値がそ
れぞれ独自に入っています。
一番左側のsheet1は無地です。
そして、左から2sheet目以降の全てのシートで、それぞれ 指定セル を sheet1のA列に縦にデータを保管したいです。
そして、同様にまた違う指定セルをB列、また違うセルをC列・・・・
といった具合で全シートの複数の項目をsheet1にリスト形式でまとめたいです。
どうかご教授をお願いいたします。
No.3ベストアンサー
- 回答日時:
VBAの質問でしょうか?
各シートの指定セルが仮にA1、B1、C1だとしたら
Sub test01()
Dim i As Long
For i = 2 To Sheets.Count
With Sheets(1)
.Cells(i - 1, "A").Value = Sheets(i).Range("A1")
.Cells(i - 1, "B").Value = Sheets(i).Range("B1")
.Cells(i - 1, "C").Value = Sheets(i).Range("C1")
End With
Next i
End Sub
で大丈夫だと思います。
該当のBOOKの標準モジュールに書いてくださいね。
回答ありがとうございました。
とても複雑なコードを予想していましたが、意外にシンプルで驚きました。
おかげさまでやりたいことが出来そうです。ありがとうございました。
No.5
- 回答日時:
>しかし、やはりシート名がsheet()で限定されるというのが、関数の限界でしょうか。
例えば、SheetA、SheetB、SheetC、SheetD、SheetE、SheetF、SheetG、SheetH、SheetIという名称のシートがあり、Sheet1のA2セルにはA列に表示するデータの項目名が入力さていて、Sheet1のA3以下に、SheetA~SheetIのA1セルの値を自動的に表示させるものとします。
まず、適当な空きシートにSheetA~SheetIの各シートのシート名の一覧表を作成します。
空きシートが無ければ、新たにシートを作成して下さい。
ここでは仮に、「補助シート」という名称のシートを作成するものとします。
そして、補助シートのA2以下にSheetA~SheetIの各シートのシート名を、空欄を空けずに並べて下さい。
次に、Sheet1のA3セルに、次の関数を入力して下さい。
=IF(ISERROR(INDIRECT(INDEX(補助シート!$A:$A,ROWS($2:3))&"!A1")),"",INDIRECT(INDEX(補助シート!$A:$A,ROWS($2:3))&"!A1"))
次に、Sheet1のA3セルをコピーして、Sheet1のA4以下に貼り付けて下さい。

No.4
- 回答日時:
>excel2000を利用しています。
では,ちょっとタイプの違うマクロで。
手順:
挿入メニューの名前の定義で
名前 シート一覧
参照範囲 =GET.WORKBOOK(1)
と登録する
>2sheet目以降の全てのシート
シート1に
=INDIRECT(INDEX(シート一覧,ROW(A2))&"!C5")
のように記入し,下向けにシートの枚数だけコピーする
#面倒でなければ
=IF(ROW(A2)>COUNTA(シート一覧),"",INDIRECT(INDEX(シート一覧,ROW(A2))&"!C5"))
などのように一手間入れても勿論構いません。
#シート名の配列を取得するので,シート名が「1,2,3」の順になってなくてもシートのある順で結果を得ます。
もっともふつーのマクロでシート名一覧だけを例えばA列セルに書き出させて,INDIRECT関数を使った方が簡単は簡単です。
A2以下に
Sheet2
のように書き出してあれば
ついでにB1以右に欲しいセル番地を「B2」とか「C5」のように列記しておけば
B2:
=INDIRECT($A2&"!"&B$1)
を下に右にコピー
といった具合に。
オマケ:
sub macro1()
dim i
for i = 2 to worksheets.count
worksheets(1).cells(i, "A") = worksheets(i).name
next i
end sub
ありがとうございました。
すごいですね。そんな機能があったなんて知りませんでした。
絶句してしまいます。excelの世界がいかに深くて、自分がとても未熟だと思い知らされます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
if関数の複数条件について
-
同じ名前(重複)かつ 日本 ア...
-
excel
-
【マクロ】数式を入力したい。...
-
表計算ソフトでの様式の呼称
-
空白のはずがSUBTOTAL関数でカ...
-
【関数】=EXACT(a1,b1) a1とb1...
-
【マクロ画像あり】❶1つの条件...
-
エクセルの文字数列関数と競馬...
-
【画像あり】【関数】指定した...
-
エクセルでフィルターした値を...
-
エクセルに写真が貼れない(フ...
-
エクセルのライセンスが分かり...
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
【マクロ】excelファイルを開く...
-
【マクロ】【画像あり】❶ブック...
-
【マクロ】既存ファイルの名前...
-
【マクロ】【画像あり】4つの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでフィルターした値を...
-
if関数の複数条件について
-
エクセルシートの見出しの文字...
-
excel
-
エクセルの文字数列関数と競馬...
-
VLOOKUP FALSEのこと
-
同じ名前(重複)かつ 日本 ア...
-
表計算ソフトでの様式の呼称
-
エクセルに写真が貼れない(フ...
-
【マクロ】数式を入力したい。...
-
【マクロ】実行時エラー '424':...
-
【画像あり】オートフィルター...
-
Office2021のエクセルで米国株...
-
【画像あり】【関数】指定した...
-
エクセルのVBAで集計をしたい
-
【マクロ】【画像あり】4つの...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
LibreOffice Clalc(またはエク...
-
エクセルのライセンスが分かり...
おすすめ情報