0
エクセルファイルに2枚のシートがあります(シート1とシート2)。1枚のシートからテキストを見つけ、それを別のシートに置き換えます。
シート1には、コード、ID、テキストの3つの列があります。ここに100以上のレコードがあります。
シート2には、データのヒープがあります。私がいることをVBAを記述しようとしています
:
1)のSheet2の2列目から(シート1)「コード」を見つけました。
2)Sheet2の3番目の行から 'ID'(Sheet1)を見つけて列番号を取得します。
3)Sheet2のそれぞれの行と列に 'text'(Sheet1)を貼り付けます。
私は以下のコードを下に書かれているが、それは、それぞれの列内の「テキスト」貼り付けされていない - を支援してください。「IDは」
に一致するすべての列ではなく、ペースト。私は、ネストされたループの代わりに、ここでFind()
を好む
Private Sub CommandButton1_Click()
Dim wb As Workbook
Dim sht As Worksheet
Dim rng1 As Range
Dim rngCell_1 As Range
Dim rngCell_2 As Range
Dim rngCell_3 As Range
Set wb = ActiveWorkbook
Set sht2 = ActiveWorkbook.Sheets("Sheet2")
Set sht = wb.Sheets("Sheet1")
With sht2
lastrow = .Cells(Rows.Count, "A").End(xlUp).Row
lastrowcell = sht.Cells(Rows.Count, "A").End(xlUp).Row
For Row = 4 To lastrow
For Each rngCell_2 In sht.Range("B2:B" & lastrowcell)
Set rng1 = sht2.UsedRange.Find(rngCell_2, , xlValues, xlWhole)
For Each rngCell_1 In sht.Range("A2:A" & lastrowcell)
For Each rngCell_3 In sht.Range("C2:C" & lastrowcell)
If (.Cells(Row, 2) = rngCell_1) Then
.Cells(Row, rng1.Column) = rngCell_3
.Cells(Row, rng1.Column).Font.Color = 255
End If
Next rngCell_3
Next rngCell_1
Next rngCell_2
Next Row
End With
End Sub
おかげでティムは、はるかに高く評価します。それは完璧に動作します! – Adsar