我想複製表單1「Delivery Docket」中的值。我想要複製的單元格將來自A18:A160,所有非空單元格。如何複製所有非空單元格並將它們粘貼到不同工作表中的下一個可用單元格中
下一步是將非空單元格的值粘貼到Sheet2「Shipping寄存器」上,該寄存器將從單元格A2開始,如果單元格不爲空,則向下。我之前曾問一個朋友爲我做這件事,我隱約記得他加了一個循環和+1功能,因爲每次單元有一個值,宏必須移動到下一個單元。
我想複製表單1「Delivery Docket」中的值。我想要複製的單元格將來自A18:A160,所有非空單元格。如何複製所有非空單元格並將它們粘貼到不同工作表中的下一個可用單元格中
下一步是將非空單元格的值粘貼到Sheet2「Shipping寄存器」上,該寄存器將從單元格A2開始,如果單元格不爲空,則向下。我之前曾問一個朋友爲我做這件事,我隱約記得他加了一個循環和+1功能,因爲每次單元有一個值,宏必須移動到下一個單元。
試試這個:
Private Sub copyNon_EmptyCells()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim vals() As String, valCount As Integer
Dim lastRow As Integer, r As Integer
Set ws1 = Sheets(1)
Set ws2 = Sheets(2)
' set last row variable
lastRow = ws1.Cells(ws1.Rows.Count, 1).End(xlUp).Row
For r = 18 To lastRow
If (Not ws1.Cells(r, 1) = vbNullString) Then
ReDim Preserve vals(valCount)
vals(valCount) = ws1.Cells(r, 1)
valCount = valCount + 1
End If
Next r
For r = 0 To valCount - 1
ws2.Cells(r + 2, 2) = vals(r)
Next r
End Sub
我真的很難解釋它,但我會盡我所能。請耐心等待我。我想完成的是從sheet1複製值「Delivery Docket」我想要複製的單元格將來自A18:A160所有不是空單元格,下一步是將非空單元格的值粘貼到Sheet2「Shipping寄存器「將從單元格A2開始,如果單元格不爲空,則向下。我以前曾問一個朋友爲我做這個,我依稀記得他添加了一個循環和+1函數,因爲每次單元有一個值,宏必須移動到下一個單元 –
上面的代碼完全是你除了你最初表示你想要開始的值:「sheet2 B2下去」 – lonestorm
要通過名稱來引用表,使用Set ws1 = Sheets(「Delivery Docket」)等.For循環減輕了需要一個「+1」(這將在Do循環中需要),因爲「Next」命令會將計數器值遞增1(如果使用Step參數,則遞增指定值)。 – lonestorm
請,更具體的(讀作[怎麼問(http://stackoverflow.com/help/how-to-ask)) –
我我真的無法解釋它,但我會盡我所能。請耐心等待我。 –