No.3ベストアンサー
- 回答日時:
意味が判らない点があるが以下でやって見ました。
数字は品番コードと解釈し、品名1 品名2 品名3 品名4 品名5とその下のコードとは関係ないものとした。
分解(test01前半)-ソート(test01の最後)-再組み立て(test02)の過程でやっている。
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet1")
Set sh2 = Worksheets("sheet2")
d = sh1.Range("A65536").End(xlUp).Row
' MsgBox d
k = 1
For i = 2 To d
For j = 2 To 5
If sh1.Cells(i, j) = "" Then
Else
sh2.Cells(k, "A") = sh1.Cells(i, "A")
sh2.Cells(k, "B") = sh1.Cells(i, j)
k = k + 1
End If
Next j
Next i
MsgBox k
sh2.Activate
sh2.Range(Cells(1, "A"), Cells(k - 1, "B")).Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, _
key2:=Range("B1"), Order2:=xlAscending
End Sub
Sub test02()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet2")
Set sh2 = Worksheets("sheet3")
d = sh1.Range("A65536").End(xlUp).Row
' MsgBox d
k = 1
j = 2
m1 = sh1.Cells(1, "A")
sh2.Cells(k, "A") = sh1.Cells(1, "A")
sh2.Cells(k, j) = sh1.Cells(1, "B")
m2 = sh1.Cells(1, "B")
j = j + 1
For i = 2 To d
If sh1.Cells(i, "A") = m1 Then
If sh1.Cells(i, "B") = m2 Then
Else
sh2.Cells(k, j) = sh1.Cells(i, "B")
m2 = sh1.Cells(i, "B")
j = j + 1
End If
Else
k = k + 1
j = 2
sh2.Cells(k, "A") = sh1.Cells(i, "A")
sh2.Cells(k, j) = sh1.Cells(i, "B")
j = j + 1
m1 = sh1.Cells(i, "A")
m2 = sh1.Cells(i, "B")
End If
Next i
End Sub
この回答への補足
うまく表現できなくてご迷惑をおかけしました。早速詳しいプログラムをいただき、本当に感謝しています。
何度もお手数をおかけして、誠に恐縮ですが、お時間の許す限りで結構ですので、今一度ご指導願えたら幸いです。
やりたいことを以下に順をおって書いてみます
1.各店舗から品番(1列目の数字)ごとに売れた品名 (2列目以降の数字)が記録されたデータがあります が、各店舗で品名を適当な列にいれているため、同じ品 名のコードが入っている列が店舗ごとにばらばらです
2.そこで、例えば表1の品番50は2行になっています が、これを1行にまとめたい
3.このとき、表1の1行目と2行目で共通している品名 のコード15,32は15、15、32、32のように 重複して集計するのではなく表2のように1つにまとめ たい
・・・・ということなのですが、
実際のデータは数百件あり、とても手作業では困難なので
マクロ処理できればとてもたすかります。
ご迷惑おかけしますが、アドバイスねがえれば幸いです
No.4
- 回答日時:
>今一度ご指導願えたら幸いです。
というのは、imogasiさんのマクロを実行してみたのですか?それともマクロの意味が分からなかったのですか?あるいは実行の仕方が分からなかったのですか?
もしVBAについてあまり知識が無いのならば、実際のシートに合わせてマクロを微調整したりするのも難しいかと思います。折角なので一度勉強してみてはいかがですか?
この回答への補足
補足が舌足らずでご迷惑おかけします。
imogasiさんのマクロは実行してみましたが、意図する結果と違っていました。しかし、参考にするところは多々あり、感謝しています。
VBAの基本的なところは理解できますし、自分でも色々試してみたのですが、私の能力を超えるみたいなので質問させていただきました。でもこれ以上いろんな方
の手をわずらわせるのも気がひけますので、おっしゃるとおり、自分で挑戦したいと思います。
No.1
- 回答日時:
表1
品番 品名1 品名2 品名3 品名4 品名5
50 15 32 45
50 15 52 32
20 33 87 67
表2
品番 品名1 品名2 品名3 品名4 品名5
50 15 32 45 52
20 33 87 67
これがさっぱり意味が分からん。
誰か訳してくれ。
この回答への補足
うまく表現できなくてご迷惑をおかけしました。
やりたいことを以下に順をおって書いてみます
1.各店舗から品番(1列目の数字)ごとに売れた品名 (2列目以降の数字)が記録されたデータがあります が、各店舗で品名を適当な列にいれているため、同じ品 名のコードが入っている列が店舗ごとにばらばらです
2.そこで、例えば表1の品番50は2行になっています が、これを1行にまとめたい
3.このとき、表1の1行目と2行目で共通している品名 のコード15,32は15、15、32、32のように 重複して集計するのではなく表2のように1つにまとめ たい
・・・・ということなのですが、
ご迷惑おかけしますが、アドバイスねがえれば幸いです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) 【VBA】元のシート内の文字列を別シートと比較し、一致したら元のシートの別のセルへ転記する方法。 3 2023/03/23 17:30
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excel 関数 vlookupなどの使い方について質問です。 シート1に品番、商品名、単価、発注条 6 2022/06/15 19:16
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Visual Basic(VBA) 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい 5 2022/04/13 17:03
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBA 別シートの複数の...
-
シャープのアクオス sh-m25 を...
-
excel:色付き文字の抽出と変換法
-
重複データの集計マクロについて
-
VBA 貼付先範囲(行)がいっぱ...
-
VBA別シートの最終行の下行へ貼...
-
[EXCEL]全てのチェックボックス...
-
Excel VBA元データから別シー...
-
Excel VBA インデックスの境...
-
WorkbooksとWorksheetsを簡単に...
-
エクセルVBAで 2種のリストを...
-
スマホ機種変更で旧機種のGoogl...
-
LAVIE Direct DT PC-GD298ZZAL...
-
外付けHDDをフローリングに落と...
-
ドコモの電話帳バックアップに...
-
拡張子「.HUF(.huf)」のファ...
-
au(MEDIASKIN)からiPhoneへの...
-
Docomo携帯メールをコピーした...
-
パソコンから携帯でフルうたを
-
自作した3pgかmp4ファイルを着...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel で行を指定回数だけコピ...
-
エクセルVBA 別シートの複数の...
-
シャープのアクオス sh-m25 を...
-
excelの差込印刷で可視セルだけ...
-
Excel VBA インデックスの境...
-
VBA:同じ文字列データの比...
-
エクセルVBAで 2種のリストを...
-
エクセル:VBAで月変わりで、自...
-
歯抜けの時間を埋めて行の挿入
-
エクセルVBAで SendKeys "{TAB}"
-
VBAで条件が一致する行のデータ...
-
VBA別シートの最終行の下行へ貼...
-
EXCELマクロで全シート対...
-
Excel VBAでシート内全体に非表...
-
VBA 貼付先範囲(行)がいっぱ...
-
VBAで複数シート選択
-
【VBA】UserForm1の中で使うワ...
-
【WORD差し込み印刷】複数レコ...
-
VBAで複雑な構成の転記
-
エクセルVBAでの日付順のデ...
おすすめ情報