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で2つのファイルから重複...
-
VBAで CTRL+HOMEの位置へ移動...
-
Excelで日付変更ごとに、自動的...
-
トランジスタの選び方
-
エクセル 縦に長い表の印刷時...
-
EXCEL の表を一行ずつシートに...
-
ファンモータが作動しない。
-
エクセルで名簿を50音で切り分ける
-
EXCEL 複数行のデータを1行にま...
-
Excelマクロ 差分抽出の方法が...
-
(VBAにて)日付でデータを抽出す...
-
エクセルVBAで、特定文字から始...
-
オートフィルタで抽出したデー...
-
Excel 売上管理シートに入力し...
-
実行時エラー’438 の解消
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
excelの不要な行の削除ができな...
-
Excelで日付変更ごとに、自動的...
-
VBAで CTRL+HOMEの位置へ移動...
-
トランジスタの選び方
-
EXCELで2つのファイルから重複...
-
EXCEL 複数行のデータを1行にま...
-
他のシートの一番下の行データ...
-
オートフィルタで抽出したデー...
-
エクセルのカメラ機能について
-
(VBAにて)日付でデータを抽出す...
-
エクセルで名簿を50音で切り分ける
-
別々のシートの表をピボットテ...
-
Excel 売上管理シートに入力し...
-
Excelマクロ 差分抽出の方法が...
-
EXCEL の表を一行ずつシートに...
-
エクセルVBAで、特定文字から始...
おすすめ情報