質問
IDと画像名の商品のリストがあります。1画像あたりの1つのエントリは、1枚のエントリの1つのエントリではなく、必要なときに列の写真の1つのエントリです。ファイルにいくつかのエントリしかなかった場合、手動手順では、同じ製品のすべての画像名を切り取り、名前なしでエントリを削除することがわかります。しかし、ファイルに10万以上のエントリがあるため、誰もがVBAを使用してこれを行う方法を知っていますか?
例: 私が持っているもの...
product_id; picture_name
1; picture1.jpg
1; picture2.jpg
1; picture3.jpg
2; picture4.jpg
3; picture5.jpg
3; picture6.jpg
.
私が必要なもの...
product_id; 1st_picture; 2nd_picture; 3rd_picture...
1; picture1.jpg; picture2.jpg; picture3.jpg
2; picture4.jpg
3; picture5.jpg; picture6.jpg
.
あなたの助けのためにあまりあまりありがとうございました。
解決
私はあなたの問題を解決すると思います
- 2つの連続した行を1つずつ比較する
- 2行が一致する場合は、2行目の2列目の値を2行目にして、1行目の2列目の値に値を入れ、2行目の を削除します。
- 一致しない場合は、前のステップをスキップして、次の2行を比較します。
これはコード
ですSub SortPics()
i = 2
Do
Flag = False
VarComp1 = Sheets("YourSheetName").Cells(i, 1).Value
VarComp2 = Sheets("YourSheetName").Cells(i + 1, 1).Value
If VarComp1 = VarComp2 And VarComp2 <> "" Then
Set VarSec1 = Sheets("YourSheetName").Cells(i, 2)
Set VarSec2 = Sheets("YourSheetName").Cells(i + 1, 2)
VarSec1.Offset(0, 1 + j).Value = VarSec2.Value
Sheets("YourSheetName").Cells(i + 1, 1).EntireRow.Delete
i = i - 1
Flag = True
End If
i = i + 1
If Flag = True Then
j = j + 1
Else
j = 0
End If
Loop While VarComp1 <> ""
End Sub
. 所属していません StackOverflow