
こんにちは。
A列に日付
B列に数字(行数が大きいほど数字が若くなる)
C列に英数字
が入っています。
関数ではなくマクロを使って
B列の101の一番大きい行数の右隣(C列)を消したいのですが
(この場合は5行目のC列「WWW」を消したい)
複数ある同じ数値の中から
一番大きい行数を見つけて
その右隣のセルを消すためには
どのようにマクロを記述すれば出来るのでしょうか?
何卒よろしくお願いいたします。
A B C
1 11/8 102 ZZZ
2 11/8 101 AAA
3 11/8 101 BBB
4 11/8 101 AAA
5 11/8 101 WWW
6 11/8 100 BBB
7 11/8 099 AAA

No.3ベストアンサー
- 回答日時:
No.1です。
自分が言ってたもののサンプルはこんな感じ。繰り返しの数は条件見えないので実環境では多すぎるかもけど。
Sub test()
Dim i As Long
Dim buf As String
For i = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(i, 2) = buf And Cells(i, 2) <> Cells(i + 1, 2) Then
Cells(i, 3).Clear
End If
buf = Cells(i, 2)
Next i
End Sub
No.2
- 回答日時:
こんにちは
なさりたいことの本質がよくわかりませんが・・・
『検索の判断要素はひとつで、複数ヒットする場合は行番号が大きなものを選択したい』ということと解釈しました。
エクセルは表形状にデータが並んでいるので、
・検索対象範囲を取得したら
・行番号の大きなものから順に照合チェックして
・最初にヒットしたデータがお求めのものになります
>どのようにマクロを記述すれば出来るのでしょうか?
普通に順に検索するのと大して変わりはありません。
上記のように逆順でチェックする点が異なるだけ。
No.1
- 回答日時:
やり方はいろいろあるでしょうけど、
ポイントは
・複数ないと処理しない
・数字は降順で必ず並んでいて、その最後の行を処理する
なので、
1.前の行と今の行は同じ値か(複数あるかの判定)
2.今の行と次の行は同じ値か(同値の最終行の判定)
を満たせば消す、という処理を繰り返せばいいかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 先頭と末尾を指定して連続した数字を入力 1 2022/09/14 13:12
- Visual Basic(VBA) A列にある値をB列・C列にVBAで切り出し 3 2022/04/09 19:20
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Excel(エクセル) エクセルのマクロ作成について教えてください 5 2023/02/20 00:39
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
CSVファイルの「0落ち」にVBA
-
VBA 指定した列にある日時デー...
-
LEFT関数とIF関数の組み合わせ...
-
列方向、行方向の定義
-
EXCELを最大にて開いた際、特定...
-
Excelの行数、列数を増やしたい...
-
土日の列幅の自動変更を教えて...
-
マクロを使って複数ある同じ数...
-
エクセル マクロ 範囲の値を上...
-
Excel2002のVBAでFor Nextのネ...
-
ご覧いただきありがとうござい...
-
エクセルで?
-
エクセル マクロ 範囲指定で...
-
VBAで別ブックの列を検索し、該...
-
エクセル 任意の列数で分割する...
-
エクセルマクロPrivate Subを複...
-
アクセス 取り込み時に、桁数(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
LEFT関数とIF関数の組み合わせ...
-
VLOOKUPの列番号の最大は?
-
VBA 指定した列にある日時デー...
-
Excelの行数、列数を増やしたい...
-
エクセルのソートで、数字より...
-
列方向、行方向の定義
-
VBAで別ブックの列を検索し、該...
-
エクセル マクロ 範囲指定で...
-
CSVファイルの「0落ち」にVBA
-
エクセルマクロPrivate Subを複...
-
エクセルで最初の行や列を開け...
-
最近急にVBAの処理速度が遅くな...
-
VBA
-
Excel文字列一括変換
-
エクセルで複数列の検索をマク...
-
エクセル マクロ 範囲の値を上...
-
横軸を日付・時間とするグラフ化
-
Alt+Shift+↑を一括で行うには、...
おすすめ情報