[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数シートのセルの抽出』(エイミー)
シートが複数あり、ある決まったセルのみを抽出し、新たなシートに一覧表を作成したい のですが。。。教えて下さい。
例) シートAのセルB2欄には”AA1”とB3欄には”BB1” シートBのセルB2欄には”AA2”とB3欄には”BB2” シートCのセルB2欄には”AA3”とB3欄には”BB3”
がそれぞれ入力されているとして、
新たなシートDに AA1 BB1 AA2 BB2 AA3 BB3
の一覧表を作成したい 宜しくお願い致します。
=シートA!B2 =シートA!B3 AA1 BB1
=シートB!B2 =シートB!B3 AA2 BB2
=シートC!B2 =シートC!B3 AA3 BB3
ということでしょうか? 抽出条件も考慮した式をお望みなのでしょうか?
(Ohagi)
シートDの構成はどうなるのですか? 一覧表となっていましたので、 複数のセルを参照させたいのは分かりますが… 抽出元のセル番地と抽出先のセル番地に一貫性はあるのでしょうか?
>ある決まったセルのみを抽出 何を条件にすると「決まったセル」になるのでしょうか?
一行目が、シートA B列 二行目が、シートB B列 三行目が、シートC B列 行番号 = 列数 シートDのA1セルから入力であったなら
A1 =INDIRECT("シートA!B"&COLUMN()+1) A2 =INDIRECT("シートB!B"&COLUMN()+1) A3 =INDIRECT("シートC!B"&COLUMN()+1) として、横にコピー
シート名の一覧を取得して参照させたらいかがです? [[20040712163424]]『複数シートのシート名と特定セルの内容をリストに』(taka)
(Ohagi)
ベタベタなんですが 各シートのB2,B3のデータをDシートへ
Sub Test() Dim myShi As Worksheet For Each myShi In Worksheets If myShi.Name <> "D" Then With Worksheets("D").Range("A65536") .End(xlUp).Offset(1, 0).Value = myShi.Range("B2").Value .End(xlUp).Offset(0, 1).Value = myShi.Range("B3").Value End With End If Next End Sub (kyoko)
逆バージョンはできないかと
検索してみましたが、まだまだ勉強不足のためこれぞというものがみつけられません。
エイミーさんのを例にさせて頂きますと、
もともとシートDの一覧になっているものが最初に用意されているとして
それぞれのシートの決められた箇所(ここでいうとB2,B3でしょうか)に
値がいくようになるマクロはありますでしょうか。
どなたかよろしくお願いいたします!(みきたん)
数式ですが・・・。
↓「表」シートの状態 [A] [B] [C] [1] シート名 B1へ B2へ [2] シートA AAA AAAA [3] シートB BBB BBBB
シートA,シートBの B1セルへ =VLOOKUP(MID(CELL("FILENAME",A1),FIND("]",CELL("FILENAME",A1))+1,LEN(CELL("FILENAME",A1))),表!A:C,2,FALSE) B2セルへ =VLOOKUP(MID(CELL("FILENAME",A1),FIND("]",CELL("FILENAME",A1))+1,LEN(CELL("FILENAME",A1))),表!A:C,3,FALSE)
各シートへは、作業グループにして入力すると 一度で入力出来ると思います。 テスト試行は、保存してあるブックでなさって下さい。
解決できない様で有れば、 新たにスレをたてられるのが宜しいかと思います。
(HANA)
恐れ入ります、便乗で教えていただきたいのですが、
kyokoさんの↓
Sub Test()
Dim myShi As Worksheet For Each myShi In Worksheets If myShi.Name <> "D" Then With Worksheets("D").Range("A65536") .End(xlUp).Offset(1, 0).Value = myShi.Range("B2").Value .End(xlUp).Offset(0, 1).Value = myShi.Range("B3").Value End With End If Next End Sub
これで非常に助かりました。ありがとうございました。
ひとつ質問なんですが、串刺し計算の為に、先頭に空のワークシートAと
「集計」(上記で言う所のDシート)の前に空のワークシートBを用意し、
この空のワークシート間でのみシートを増幅させ、計算式を守っています。
現在、一覧には全てのワークシートが反映されてしまいますので、
この空のワークシート2枚を除外させる方法を
教えていただけませんでしょうか。
仮に名前を「空のワークシートA」「空のワークシートB」とします。
やっとマクロに足を踏み入れたばかりの初心者です。
何卒お力をお貸し下さいませ。
宜しくお願いします。
(JUJU)
And で条件をつなげます。
If myShi.Name <> "A" And myShi.Name <> "B" Then
(ROUGE)
早速のレスありがとうございました。
お陰様でうまく実行できました。ありがとうございました!
(JUJU)
Sub Test()
Dim myShi As Worksheet For Each myShi In Worksheets If myShi.Name <> "D" Then With Worksheets("D").Range("A65536") .End(xlUp).Offset(1, 0).Value = myShi.Range("B2").Value .End(xlUp).Offset(0, 1).Value = myShi.Range("B3").Value End With End If Next End Sub こちらで、自分のシートにもB2、B3に当てはまるセルを 別シートに一覧表示させることができました。 さらに、50程度のセルを別シートに一覧表示させたいと思っています。
B2の情報は別シートのA2から下に、
B3の情報は別シートのB2から下に一覧となって表示されました。
ということは、B4、B5、C1、・・・は別シートのC2、D2、・・・
というふうに表示できるのかと考えています。
また、もうひとつ、可能でしたら教えていただきたいのは、
元のシート群には、
B2に情報が入っている場合と入っていない場合があり、
できた表をみたところ、
情報が入っていないセル分は上に詰められてしまっているようです。
情報が入っていないセルも空のまま一覧に表示させる方法は
ありますでしょうか。
どなたか教えていただけたらうれしいです。
n
このスレは大人気ですね。 どこかにリンクでも有るのかな?? Google先生のキャンペーン?
>元のシート群には、 B2に情報が入っている場合と入っていない場合があり と言う事であれば、ロジックを少し変えた方が良いのではないかと思います。
長くなってこのスレ自体も読みにくくなって仕舞うといけませんので 新規で質問をされるのが良いと思います。
同じ様な質問を探してみると、もっと適したサンプルが見つかると思います。 新規で質問をする事に抵抗が有るなら、探してみられても良いかもしれません。
(HANA) 2012/02/09
2006年のスレ・・。
こちらを引用?する感じで新規で質問してみたいと思います。
nさんは↓こちらで新規で質問されました。 [[20120209133706]] 『複数シートのセルの抽出A』(n)
(HANA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.