なにか良い方法があれば教えてください。
複数シート(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で、空白セルを除いて別シートに転記する方法
Excel(エクセル)
-
7
【Excel】複数の列を参照して、特定の文字列を含む行全体を別シートに抽出する関数
Excel(エクセル)
-
8
全てのシートから特定文字を含むセルを抽出
Excel(エクセル)
-
9
エクセルで複数シートを別のシートに一覧表として自動で反映されるようにしたいです。
Excel(エクセル)
-
10
excelで、空白を除いてデータを抽出する方法について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
コマンドボタンがデザインモー...
-
エクセルでシートの並び替えで...
-
VBA シート名を先月の名前に...
-
エクセルの複数のワークシート...
-
EXCEL 複数シートを1つの...
-
複数シートの保護・解除
-
エクセルを開いたとき常に同じ...
-
VBAで条件によってシート見出し...
-
Excelで,特定のシートを開いた...
-
EXCELでワークシートを開いたら...
-
エクセル2013でマクロのボタン...
-
AccessのVBAで、Excelのマクロ...
-
EXCELの起動時に常に同じ...
-
EXCELのエラー
-
【Excel VBA】シート見出しの色...
-
Excel VBAで他のシートを印刷す...
-
エクセルシートのセルに現在時...
-
全てのシートから特定文字を含...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロを複数シートに実行する...
-
コマンドボタンがデザインモー...
-
エクセルを開いたとき常に同じ...
-
【 Excel】シートの見出しに自...
-
エクセルでシートの並び替えで...
-
VBAで条件によってシート見出し...
-
EXCELでワークシートを開いたら...
-
EXCELでマクロを使わずに図形の...
-
マクロを特定の複数シートで実...
-
エクセルの複数のワークシート...
-
EXCELのエラー
-
複数シートの保護・解除
-
VBA シート名を先月の名前に...
-
エクセル2013でマクロのボタン...
-
VBAで作るexcel検索窓
-
EXCELの起動時に常に同じ...
-
シートを保護した時でも並べ替...
-
Excelで,特定のシートを開いた...
-
Excelのマクロの呼び出し元を知...
-
メッセージボックスでシート名...
おすすめ情報