İki sütunludan rastgele zamanlarım ve iki farklı kaynaktan gelen sütunlar var, bu nedenle sütunlar aynı miktarda veri noktasına sahip değil. İlk sütunda ilk kez başlamak ve ikinci sütunda her seferinde karşılaştırmak istiyorum. Bazen bir eşleşme varsa, ilgili verileri almak istiyorum. Bir eşleşme bulunduğunda (eğer varsa) kodun ilk sütundaki ikinci hücreye gitmesini ve bunu ikinci sütundaki her değerle karşılaştırmasını istiyorum.Bir sütundaki her bir hücreyi başka bir sütundaki her hücreye göre kodlamak için kod
Sub TransferInfo()
'Activate the Sub to Convert and Format Dates
Call ConvertDates
'Define Variables
Dim st As Worksheet
Dim ts As Worksheet
Dim lastrow As Long
Dim i As Integer
j = 2
'Find and set the last used row
Set st = ThisWorkbook.Worksheets("Data Table")
lastrow = st.Cells(st.Rows.Count, "B").End(xlUp).Row
Set ts = ThisWorkbook.Worksheets("ShopFloor")
'Cycle through/compare Row J, Column 18 based on each cell in Row I, Column 14
For i = 2 To lastrow
Do Until IsEmpty(ts.Cells(j, 8)) Or IsEmpty(st.Cells(j, 2))
If st.Cells(i, 14).Value = ts.Cells(j, 18).Value Then
st.Cells(i, 15).Value = ts.Cells(j, 2).Value
Exit Do
Else
st.Cells(i, 15).Value = ""
End If
j = j + 1
Loop
j = 2
Next i
End Sub
Bu alt başında çağrı diğer alt basitçe olasılığını artırmak için en yakın 15 dakikalık zaman dilimi her sütunda kez yuvarlar: Burada
var bugüne kadar kodudur sütunlar arasında eşleşir.Sorum şu ki: Bu kod, iki sütun arasında eşleşen zamanlar olmasına rağmen daha fazla bilgi kopyalayıp yapıştırmaz. Neden çalışmadığım kod? Ayrıca, daha büyük veri kümeleri ile bu kodun Excel'i kilitleyebileceğinden ve çok fazla veriyi bir çok kez işlemeye çalışan bir döngü içinde bir döngüye sahip olduğumdan korkuyorum, ancak daha verimli bir yol bilmiyorum. Bu kod olmadan ne deniyorum.
Bu kodun neden işe yaramadığı konusunda herhangi bir kavrayış varsa, herhangi bir yardımı çok takdir ediyorum.
Teşekkürler!
gerek yok? –