![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
教えて頂ければと投稿しました。
・・C・・D・・E・・F・・G・・H
3・abc・・・15・・・20・・・・・・・・・・・・・・・
4・def・・・10・・・10・・abc・・・15・・・10
5・ghi・・・・5・・・・5・・・・・・・・・・・・・・・・・
6・jkl・・・・8・・・・30・・ghi・・・・1・・・・5
以下続く
このような表があった場合に、C行とF行が同じ値のものを横並べにして、D行、E行はそのまま横並び、G行、H行もそのまま横並びにして表を完成させたいです。このようなマクロをご教示して頂きたくよろしくお願いいたします。
完成型
・・C・・D・・E・・F・・G・・H
3・abc・・・15・・・20・・abc・・・15・・・10
4・def・・・10・・・10・・・・・・・・・・・・・・・
5・ghi・・・・5・・・・5・・・ghi・・・・1・・・・5
6・jkl・・・・8・・・・30・・・・・・・・・・・・・・・・
以下続く
No.1ベストアンサー
- 回答日時:
以下のマクロを標準モジュールに登録してください。
Option Explicit
Public Sub 並べ替え()
Dim dicT As Object
Dim dicR As Object
Dim ws As Worksheet
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim arr As Variant
Dim wrow As Long
Dim srow As Long
Dim key As Variant
Set dicT = CreateObject("Scripting.Dictionary")
Set dicR = CreateObject("Scripting.Dictionary")
Set ws = ActiveSheet
maxrow1 = ws.Cells(Rows.Count, "C").End(xlUp).Row
maxrow2 = ws.Cells(Rows.Count, "F").End(xlUp).Row
arr = ws.Range("F1:H" & maxrow2)
For wrow = 3 To maxrow2
key = ws.Cells(wrow, "F").Value
If key <> "" Then
If dicT.exists(key) = False Then
dicT(key) = wrow
End If
End If
Next
For wrow = 3 To maxrow1
key = ws.Cells(wrow, "C").Value
If dicT.exists(key) = True Then
srow = dicT(key)
ws.Cells(wrow, "F").Value = key
ws.Cells(wrow, "G").Value = arr(srow, 2)
ws.Cells(wrow, "H").Value = arr(srow, 2)
dicR(wrow) = True
If dicR.exists(srow) = False Then
ws.Cells(srow, "F").Resize(1, 3).ClearContents
End If
End If
Next
MsgBox ("完了")
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELで同一セル内で自動的に改行されてしまう(難問) 6 2023/04/16 00:51
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- UNIX・Linux bashでシングルクォート内の変数の組み込み方教えてください。 2 2023/02/14 19:30
- 数学 △ABC≡△DEF≡△GHIという感じで書き表すのはダメですか? 3 2022/10/23 01:58
- Excel(エクセル) Excelで、半角スペースをTABに変換する 5 2022/10/18 14:18
- 数学 数学 証明・求め方 2 2021/11/14 01:09
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/03/09 14:24
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 10:07
- その他(プログラミング・Web制作) python の簡単な文が理解出来ない、なんでこうなるのか 5 2021/11/28 09:56
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
一つのTeratermのマクロで複数...
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
Excel2010でエンターキーにマク...
-
ExcelVBAでPDFを閉じるソース
-
VBAマクロ非表示が遅いので早く...
-
別シートに順番で貼り付け
-
Excelのマクロボタンをダブルク...
-
ExcelのVBA。public変数の値が...
-
MSアクセスのマクロ・モジュー...
-
アクセス マクロ クリップボ...
-
vba マクロでファイル名をつけ...
-
秀丸エディタでgrepを行うと前...
-
マクロで空白セルを詰めて別シ...
-
マクロ実行時、ユーザーフォー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
Excel VBAからAccessマクロを実...
-
EXCELのVBAでRange("A1:C4")を...
-
ExcelVBAでPDFを閉じるソース
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
TERA TERMを隠す方法
-
2つのマクロでチェックボックス...
-
マクロ実行時、ユーザーフォー...
-
【マクロ】1つのマクロの中に...
-
ピボットテーブルでの毎回可変...
-
特定文字のある行の前に空白行...
-
エクセルのマクロについて教え...
-
wordを起動した際に特定のペー...
おすすめ情報