![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
画像のシート名(元データのあるシート)を「データ」、結果を表示するシート名を「抽出」とします。
抽出シートの1行目にはA1~C1に 氏名、商品、回数 という見出しがあるとします。
抽出する月はその都度指定させる方法としての1例ですが、
VBAの標準モジュールに以下のコードをコピーして、これを実行すれば抽出できます。
Sub データ抽出()
Dim mySh1 As Worksheet
Dim mySh2 As Worksheet
Dim arrData(1 To 9) As Variant
Dim Asp As String
Dim RowCount1 As Long
Dim RowCount2 As Long
Dim MatchFLG As Boolean
Dim I As Integer
Dim J As Integer
Set mySh1 = Worksheets("データ")
Set mySh2 = Worksheets("抽出")
'抽出シートを1行目を残してクリアする
RowCount2 = mySh2.Cells(Rows.Count, "A").End(xlUp).Row
If RowCount2 > 1 Then
mySh2.Rows("2:" & RowCount2).Delete
End If
'条件にマッチするデータを検索
RowCount1 = mySh1.Cells(Rows.Count, "A").End(xlUp).Row
Asp = InputBox("抽出日")
For I = 4 To RowCount1
MatchFLG = False
For J = 3 To 8
If Format(mySh1.Range("A" & I).Offset(0, J), "yyyy/mm") = Asp Then
MatchFLG = True
End If
Next J
If MatchFLG Then
GoSub DataSet
End If
Next I
GoTo subEND
'抽出シートにデータを書き込む
DataSet:
RowCount2 = mySh2.Cells(Rows.Count, "A").End(xlUp).Row
mySh2.Range("A" & RowCount2 + 1).Offset(0, 0) = mySh1.Range("A" & I).Offset(0, 0)
mySh2.Range("A" & RowCount2 + 1).Offset(0, 1) = mySh1.Range("A" & I).Offset(0, 1)
mySh2.Range("A" & RowCount2 + 1).Offset(0, 2) = mySh1.Range("A" & I).Offset(0, 2)
Return
subEND:
Set mySh1 = Nothing
Set mySh2 = Nothing
MsgBox "END"
End Sub
この回答へのお礼
お礼日時:2017/09/26 21:23
Sand_Dollar様
ご回答いただきありがとうございます!
回答のつづきが何故かすぐに見れなくて返信が遅くなりすみませんm(._.)m
早速、明日会社のパソコンで出来るかいただいたコードを入れてみたいとおもいます。
非常に困っていたので助かります!!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) エクセル VBA セルの結合 2 2022/09/07 11:48
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
トランジスタの選び方
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
Excelで日付変更ごとに、自動的...
-
エクセルで入試スケジュールを...
-
シート削除して同名シート追加...
-
エクセルで1つのシートを拠点...
-
EXCEL VBA 担当者毎にファイル作成
-
AccessからVBAでExcellシー...
-
エクセルで行の自動非表示の方法は
-
エクセルの複数シート内の特定...
-
Googleスプレッドシートフィル...
-
【マクロ】同じフォルダ内にあ...
-
Excelのピボットテーブルのデー...
-
VBAで CTRL+HOMEの位置へ移動...
-
【エクセル」 特定のセルで条件...
-
EXCELで2つのファイルから重複...
-
他のシートの一番下の行データ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数シートからデータを拾って...
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
Excelで日付変更ごとに、自動的...
-
VBAで CTRL+HOMEの位置へ移動...
-
【エクセルマクロ】複数シート...
-
トランジスタの選び方
-
EXCEL 複数行のデータを1行にま...
-
EXCELで2つのファイルから重複...
-
別々のシートの表をピボットテ...
-
エクセル VBA VLOOKUP
-
他のシートの一番下の行データ...
-
エクセルのカメラ機能について
-
時間帯の重複を除いた集計について
-
EXCEL の表を一行ずつシートに...
-
ファンモータが作動しない。
-
エクセルで名簿を50音で切り分ける
-
エクセル マクロ "特定の日付...
おすすめ情報