なにか良い方法があれば教えてください。
複数シート(30シートほど)の特定範囲内で、特定セルに入力があれば1行まるまる抽出し、
一覧にしたいです。
なお、特定範囲には入力がないこともあるので、その場合は、次の行もしくは別シートを参照するようにしたい。
マクロは使わず、関数のみで処理できるとありがたいです。
(例)
シート1:
会社名 購入物 値段
ABC ペン 200
あいう けしごむ 300
シート2:
会社名 購入物 値段
シート3:
会社名 購入物 値段
(1行空)
かきく けしごむ 300
↓最終形態
合算シート:
会社名 購入物 値段
ABC ペン 200
あいう けしごむ 300
かきく けしごむ 300
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
> マクロは使わず、関数のみで処理できるとありがたいです。
1シートずつ IFERROR込みの数式を作って それらを30個「&」で
繋げば「関数のみで処理」できます。「関数のみで処理」することに
何のメリットがあるのかは分かりませんが……
計算に使うのなら同じ種類のデータを分けてはいけませんね。関数で
何とかしたいと思っているなら猶更です。入力データは一元管理が大
前提ですよ。
ご回答いただきありがとうございます。
Excelの操作になれていないスタッフが多いので、マクロを使ってしまうと、
修正が必要な時、自分しか対応できなくなってしまうことを防ぎたかったため、なるべく関数でとご依頼させていただきました。
複数の会社からデータが送られてくるのですが、一元管理できるような仕組みも考えてみたいと思います。
ありがとうございました。
No.2
- 回答日時:
こんにちは!
No.1さんもおっしゃっているように、30シートの操作を関数で!
となると相当の労力が必要なのでは?
(できるかどうかは別として・・・)
そのような気力はないので、手っ取り早くお望みでないVBAでの一例です。
興味があれば試してみてください。
尚、各シートとも1行目が項目行で項目数は同じだとします。
そして「合算シート」の1行目項目名は入力済みだという前提です。
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() '//この行から//
Dim k As Long, lastRow As Long, lastCol As Long
Dim myRng As Range, wS As Worksheet
With Worksheets("合算シート")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
lastCol = .Cells(1, Columns.Count).End(xlToLeft).Column
If lastRow > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow, lastCol)).ClearContents
End If
For k = 1 To Worksheets.Count
If Worksheets(k).Name <> .Name Then
Set wS = Worksheets(k)
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
Range(wS.Cells(2, "A"), wS.Cells(lastRow, lastCol)).Copy .Cells(Rows.Count, "A").End(xlUp).Offset(1)
End If
End If
Next k
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
Set myRng = Range(.Cells(2, "A"), .Cells(lastRow, "A")).SpecialCells(xlCellTypeBlanks)
If Not myRng Is Nothing Then
myRng.EntireRow.Delete
End If
.Activate
End With
MsgBox "完了"
End Sub '//この行まで//
※ 関数でないので、データ変更があるたびに
マクロを実行する必要があります。m(_ _)m
ご回答ありがとうございます。
数式ならなんとか理解できる人が多いため、修正が発生した際、
自分しか対応できなくなることを防ぐため、数式のみでご依頼させていただきました。
VBAありがとうございます。
こちら、サンプルデータで使ってみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) VBAを使いシート間で貼り付け 3 2023/03/14 20:53
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
EXCEL:複数シートから特定行を一覧化したい
その他(Microsoft Office)
-
Excel:複数シートから条件に合うセルを抽出する 方法があれば教えてください。 例) シートA 名
Excel(エクセル)
-
複数シートのデータを抽出するには?
Excel(エクセル)
-
-
4
Excel 表から条件にあう行を別シートに抽出したい
Excel(エクセル)
-
5
Excel 複数のデータを別シートに上から詰めて表示させたい
Excel(エクセル)
-
6
特定の文字列があったらその行をまるごと別シートに反映させたい
Excel(エクセル)
-
7
エクセルで複数シートを別のシートに一覧表として自動で反映されるようにしたいです。
Excel(エクセル)
-
8
【Excel】複数の列を参照して、特定の文字列を含む行全体を別シートに抽出する関数
Excel(エクセル)
-
9
特定の複数のシートに同じ処理をさせたい
Excel(エクセル)
-
10
全てのシートから特定文字を含むセルを抽出
Excel(エクセル)
-
11
excelで、空白を除いてデータを抽出する方法について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
VBAで条件によってシート見出し...
-
エクセルを開いたとき常に同じ...
-
マクロを特定の複数シートで実...
-
EXCELでワークシートを開いたら...
-
Excel:複数シートから条件に合...
-
複数シートの保護・解除
-
エクセルの複数のワークシート...
-
エクセルで回数をカウントする...
-
Excelで,特定のシートを開いた...
-
マクロで複数シートに条件付き...
-
エクセルを閉じる際に自動保存...
-
EXCELのエラー
-
EXCELでマクロを使わずに図形の...
-
マクロでのシートコピー数制限?
-
コマンドボタンがデザインモー...
-
エクセルでシートの並び替えで...
-
エクセル2013でマクロのボタン...
-
エクセルのマクロでMACアドレス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
EXCELでワークシートを開いたら...
-
エクセルを開いたとき常に同じ...
-
VBAで条件によってシート見出し...
-
EXCELでマクロを使わずに図形の...
-
マクロを特定の複数シートで実...
-
エクセルでシートの並び替えで...
-
エクセルの複数のワークシート...
-
複数シートの保護・解除
-
エクセルで複数のSheetを一括フ...
-
エクセルで回数をカウントする...
-
EXCELのエラー
-
Excel:複数シートから条件に合...
-
VBA シート名を先月の名前に...
-
EXCELの起動時に常に同じ...
-
Excelで,特定のシートを開いた...
-
Excelのマクロの呼び出し元を知...
-
メッセージボックスでシート名...
おすすめ情報