|
こんにちは。かみちゃん です。
>>>このシート1のC列の文字を上から連続で取得し、順番に検索させてシート2に
>>
>>発想を大きく変えて、C列で並べ替えしてはいけないのでしょうか?
>
>かみちゃんさん迅速なレス大変ありがとう御座います。
>本当に大きく発想が変わりましたね。
>
>本当にしたい作業は
> C列 H列
> 1 A+A
> 2 B+B
> 3 C+C
> 4 D+D
> 5 E+E
> 6 F+F
>と書き出すことなんです、簡単に言うと在庫管理なんですけど。
在庫管理なのかどうかよくわからないのですが、
C列で並び変わっているという前提で、以下のようなコードで上記のシートイメージ
のデータが得られると思います。
Sub Sample()
Dim i As Long
Dim lRow1 As Long
Dim lRow2 As Long
Dim srcname As String
Dim strkekka As String
Dim srcname_tmp As String
lRow1 = Worksheets("Sheet1").Range("C" & Rows.Count).End(xlUp).Row
lRow2 = Worksheets("Sheet2").Range("C" & Rows.Count).End(xlUp).Row
For i = 2 To lRow1 + 1 Step 1
srcname = Worksheets("Sheet1").Cells(i, 3).Value
If srcname_tmp = "" Then
srcname_tmp = srcname
End If
If srcname <> srcname_tmp Then
Sheets("Sheet2").Cells(lRow2, "C").Value = srcname_tmp
Sheets("Sheet2").Cells(lRow2, "H").Value = strkekka
lRow2 = lRow2 + 1
srcname_tmp = srcname
strkekka = ""
End If
If strkekka <> "" Then
strkekka = strkekka & "+"
End If
strkekka = strkekka & Worksheets("Sheet1").Cells(i, 8).Value
Next
MsgBox "処理を終了しました"
End Sub
|
|