将整行复制到另一个工作表中从特定行开始的下一个空行
Copy entire row to the next empty row in another worksheet which begins from specific row
我试图在这个论坛中寻找答案,我也试图修改代码以满足我的要求,但仍然没有成功。有人可以帮我吗?
我有一个包含 6 sheet 的 excel 文档。 所有 sheet 都具有相同的(固定)形式。前 5 个 sheet 基本上是数据库,其中我有来自 5 个不同项目的电子零件,第 6 个 Sheet 是一个空表格,应该用作订单列表。
我需要的是一个代码,如果满足条件,它将把整行从 sheet 1/2/3/4/5 复制到 Sheet 6。条件是在 C 列 (Sheets 1/2/3/4/5) 中输入的数量(不同于 0)。那是主要问题,我需要将整行复制到 Sheet 6 中的下一个空行 - 但表格从第 14 行 (A14) 开始,上面是 header.
现在我有了命令按钮的代码,只有当我在一个 sheet 中工作并试图将行复制到 Sheet 6(订单列表)时才有效。
例如,如果我在 Sheet 5 工作,然后我跳转到 Sheet 3,并且如果我尝试向 Sheet 3 的订单列表中添加更多零件,它只会复制所有内容我已经从 Sheet 5.
复制的订单列表中的现有零件
这是我到目前为止的代码(在这个例子中我只使用了 Sheet 5 - "Gemeinsam"):
Private Sub CommandButton1_Click()
a = Worksheets("Gemeinsam").Cells(Rows.Count, 5).End(xlUp).Row
b = 14
For i = 14 To a
If Worksheets("Gemeinsam").Cells(i, 3).Value > 0 Then
Worksheets("Gemeinsam").Rows(i).Copy
Worksheets("Stückliste").Activate
Worksheets("Stückliste").Cells(b, 1).Select
ActiveSheet.Paste
Worksheets("Gemeinsam").Activate
b = b + 1
End If
Next
Application.CutCopyMode = False
ThisWorkbook.Worksheets("Gemeinsam").Cells(14, 1).Select
End Sub
这假设您的工作簿中只有 6 个工作表。一些变量名称已更改,但希望能够理解。
Private Sub CommandButton1_Click()
Dim ws As Worksheet
Dim ws1 As Worksheet
Dim DestLastRow As Long
Dim LastRow As Long
Dim i As Long
Set ws1 = Sheets("Stückliste")
For Each ws In Worksheets
If ws.Name <> "Stückliste" Then
LastRow = ws.Cells(Rows.Count, 5).End(xlUp).Row
For i = 14 To LastRow
If ws.Cells(i, 3).Value > 0 Then
DestLastRow = ws1.Cells(Rows.Count, 5).End(xlUp).Row + 1
ws.Rows(i).Copy ws1.Rows(DestLastRow)
End If
Next i
End If
Next ws
Application.CutCopyMode = False
End Sub
我试图在这个论坛中寻找答案,我也试图修改代码以满足我的要求,但仍然没有成功。有人可以帮我吗?
我有一个包含 6 sheet 的 excel 文档。 所有 sheet 都具有相同的(固定)形式。前 5 个 sheet 基本上是数据库,其中我有来自 5 个不同项目的电子零件,第 6 个 Sheet 是一个空表格,应该用作订单列表。
我需要的是一个代码,如果满足条件,它将把整行从 sheet 1/2/3/4/5 复制到 Sheet 6。条件是在 C 列 (Sheets 1/2/3/4/5) 中输入的数量(不同于 0)。那是主要问题,我需要将整行复制到 Sheet 6 中的下一个空行 - 但表格从第 14 行 (A14) 开始,上面是 header.
现在我有了命令按钮的代码,只有当我在一个 sheet 中工作并试图将行复制到 Sheet 6(订单列表)时才有效。 例如,如果我在 Sheet 5 工作,然后我跳转到 Sheet 3,并且如果我尝试向 Sheet 3 的订单列表中添加更多零件,它只会复制所有内容我已经从 Sheet 5.
复制的订单列表中的现有零件这是我到目前为止的代码(在这个例子中我只使用了 Sheet 5 - "Gemeinsam"):
Private Sub CommandButton1_Click()
a = Worksheets("Gemeinsam").Cells(Rows.Count, 5).End(xlUp).Row
b = 14
For i = 14 To a
If Worksheets("Gemeinsam").Cells(i, 3).Value > 0 Then
Worksheets("Gemeinsam").Rows(i).Copy
Worksheets("Stückliste").Activate
Worksheets("Stückliste").Cells(b, 1).Select
ActiveSheet.Paste
Worksheets("Gemeinsam").Activate
b = b + 1
End If
Next
Application.CutCopyMode = False
ThisWorkbook.Worksheets("Gemeinsam").Cells(14, 1).Select
End Sub
这假设您的工作簿中只有 6 个工作表。一些变量名称已更改,但希望能够理解。
Private Sub CommandButton1_Click()
Dim ws As Worksheet
Dim ws1 As Worksheet
Dim DestLastRow As Long
Dim LastRow As Long
Dim i As Long
Set ws1 = Sheets("Stückliste")
For Each ws In Worksheets
If ws.Name <> "Stückliste" Then
LastRow = ws.Cells(Rows.Count, 5).End(xlUp).Row
For i = 14 To LastRow
If ws.Cells(i, 3).Value > 0 Then
DestLastRow = ws1.Cells(Rows.Count, 5).End(xlUp).Row + 1
ws.Rows(i).Copy ws1.Rows(DestLastRow)
End If
Next i
End If
Next ws
Application.CutCopyMode = False
End Sub