我正在努力使这个VBA代码工作。我从来没有学过VBA代码,但在谷歌和你们的帮助下,我找到了一些答案,我的其他代码也有效。 在这一个我有一个问题。 我在这段代码中使用过两次.find。对于第一个它工作,而第二个它没有。当我调试时,我看到它有正确的列字母,并且它具有正确的值“czas1”但不知何故它无法在列“kolumnaletter”中找到它。 你知道为什么吗?
Sub uzpwyniki()
Dim n As String
Dim nrOs As String
Dim nrkolOS As Range
Dim nrli As Range
Dim czas1
Dim pelne As String
Dim kolumna As String, kolumnaLetter As String
Dim z As String
nrOs = ThisWorkbook.Sheets("Wyniki").Range("A1")
czas1 = 0
z = 3
Set nrkolOS = Sheets("Dane").Rows("1").Find(what:=(nrOs), LookIn:=xlValues, lookat:=xlWhole)
kolumna = nrkolOS.Column
kolumnaLetter = Chr(kolumna + 64)
Do While Worksheets("Wyniki").Cells(z, 4).Value <> ""
czas1 = Worksheets("Wyniki").Cells(z, 4).Value
Sheets("Dane").Select
Set nrli = Sheets("Dane").Columns(kolumnaLetter).Find(what:=(czas1), LookIn:=xlValues, lookat:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)
Worksheets("Dane").Cells(nrli.Row, 2).Select
Worksheets("Dane").Cells(nrli.Row, 2).Copy
Worksheets("Wyniki").Cells(z, 3).PasteSpecial Paste:=xlPasteValues
Sheets("Główna").Select
Application.CutCopyMode = False
z = z + 1
Loop
End Sub