この様なシート1があります。行数は不定です。
A列 B列 C列 D列 E列 F列 G列 H列
20170101 1AA 6BB 15.1 C1C 6DD 1FF GG1
20170101 2AA 5BB 10.1 C2C 5DD 2FF GG2
20170102 3AA 4BB 11.1 C3C 4DD 3FF GG3
20170102 4AA 3BB 19.1 C4C 3DD 4FF GG4
20170103 5AA 2BB 15.1 C5C 2DD 5FF GG5
20170103 6AA 1BB 23.1 C6C 1DD 6FF GG6
これを日付別にD列の最大値を抽出した行のデータをシート2へ転記したいです。
シート2の結果
A列 B列 C列 D列 E列 F列 G列 H列
20170101 1AA 6BB 15.1 C1C 6DD 1FF GG1
20170102 4AA 3BB 19.1 C4C 3DD 4FF GG4
20170103 6AA 1BB 23.1 C6C 1DD 6FF GG6
手動で行うなら日付でフィルターをかけ、D列を降順でソートし、1行目を
シート2へ貼り付けるといった感じになると思いますがこれをVBAでやったら
どうなるのかご教授願えますでしょうか。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんばんは!
一例です。
↓の画像のように両シートとも1行目は項目行でデータは2行目以降にあるとします。
Sheet2の1行目項目は入力済みだという前提です。
標準モジュールです。
Sub Sample1()
Dim i As Long, k As Long, lastRow As Long
Dim c As Range, wS As Worksheet, myMax As Variant
Set wS = Worksheets("Sheet2")
Application.ScreenUpdating = False
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
Range(wS.Cells(2, "A"), wS.Cells(lastRow, "H")).ClearContents
End If
With Worksheets("Sheet1")
.Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
For i = 2 To wS.Cells(Rows.Count, "A").End(xlUp).Row
For k = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
If .Cells(k, "A") = wS.Cells(i, "A") Then
myMax = WorksheetFunction.Max(myMax, .Cells(k, "D"))
End If
Next k
Set c = .Range("D:D").Find(what:=myMax, LookIn:=xlValues, lookat:=xlWhole)
wS.Cells(i, "B").Resize(, 7).Value = .Cells(c.Row, "B").Resize(, 7).Value
myMax = Empty
Next i
End With
Application.ScreenUpdating = True
wS.Activate
MsgBox "完了"
End Sub
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel_マクロ_アクティブシートのVLOOKUPで表示された#N/A以外の行に色付けをしたいです 3 2023/02/17 00:40
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) エクセルデーターの並び替え 5 2022/08/06 09:59
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- その他(Microsoft Office) エクセルマクロ オートフィルターでで選択コピー 2 2022/04/18 11:05
- 統計学 お酒に強い人の割合について 2 2022/09/10 18:42
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Excel(エクセル) エクセルシートのデータを1列飛ばしで別ブックのシートに貼り付けるマクロが知りたい 2 2023/06/05 22:37
- Visual Basic(VBA) 別ブックの列同士の値が一致したときの処理 1 2022/09/03 08:27
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
【Excel2010】複数行で重複するデータから最大値をひとつだけ抽出する
Excel(エクセル)
-
エクセルで別シートからの最大値の反映
Excel(エクセル)
-
今日の日付が入った行のデータを取得するマクロ
Excel(エクセル)
-
-
4
エクセルで最高値、最低値の日付を表示させたい
Excel(エクセル)
-
5
VBA 値と一致した行の一部の列のデータを転記について教えてください
Visual Basic(VBA)
-
6
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
7
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
8
VBA 指定した列にある日時データから時間を削除する方法について
Excel(エクセル)
-
9
(VBAにて)日付でデータを抽出するやり方
Excel(エクセル)
-
10
VBAでメモ帳にコピペをしたいのですが…
PowerPoint(パワーポイント)
-
11
VBAの複数のセルのコピー法がわかりません。
Excel(エクセル)
-
12
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
13
【Excel VBA】データ貼り付け先のシート名選択
Excel(エクセル)
-
14
エクセル マクロ オートフィルの終点の指定について
Excel(エクセル)
-
15
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
16
変数の宣言の名称を教えてください。(Dim i As Long)
Access(アクセス)
-
17
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
18
エクセルで時間指定した最大・最小を求めたい
Excel(エクセル)
-
19
VBA 複数の行を高速で削除する方法
その他(プログラミング・Web制作)
-
20
VBA データ(特定値)のある最終行を取得したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
PowerPointで表の1つの列だけ...
-
LOOKUP関数を使えばいいのでし...
-
エクセルで二つの数字の小さい...
-
エクセルの表から正の数、負の...
-
エクセル 文字数 多い順 並...
-
50人を数回、グループ分けする...
-
エクセルで最初のスペースまで...
-
重複行を削除して数値を合算し...
-
Excelで、A列にある文字がB列...
-
A,B,C3種類の文字で無限列を作る
-
VBAで文字列を数値に変換したい
-
エクセルで文字が混じった数字...
-
コミックマーケットについて
-
Excel元に戻す方法を教えてくだ...
-
エクセルで休日日数・連休日数...
-
VBAでセル入力の数式に変数を用...
-
エクセルで2列のセルを連続して...
-
エクセルマクロ:複数列 重複...
-
エクセルかグーグルスプレッド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
エクセル 同じ値を探して隣の...
-
VBAで文字列を数値に変換したい
-
エクセルの並び変えで、空白セ...
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
[関数得意な方]教えて下さい・...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 時間帯の重複の有無
-
Excelにてある膨大なデータを管...
おすすめ情報