VBA按单元格将单元格从一张图纸添加到另一张图纸
我想创建一个按钮,在添加时将单元格从一张纸添加到另一张纸。在图中,我展示了我想做的事情。 到目前为止,我得到了这个VBA按单元格将单元格从一张图纸添加到另一张图纸,vba,excel,Vba,Excel,我想创建一个按钮,在添加时将单元格从一张纸添加到另一张纸。在图中,我展示了我想做的事情。 到目前为止,我得到了这个 Sub CopyBasedonSheet1() Dim i As Integer Dim j As Integer Sheet1LastRow = Worksheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Row i = 1 For j = 1 To Sheet1LastRow If Worksheets("S
Sub CopyBasedonSheet1()
Dim i As Integer
Dim j As Integer
Sheet1LastRow = Worksheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Row
i = 1
For j = 1 To Sheet1LastRow
If Worksheets("Sheet1").Cells(j, 2).Value = "a" Then
Worksheets("Sheet2").Cells(i, 1).Value = Worksheets("Sheet1").Cells(j, 1).Value
Worksheets("Sheet2").Cells(i, 2).Value = Worksheets("Sheet1").Cells(j, 2).Value
i = i + 1
End If
Next j
End Sub
但当我添加下一个单元格并再次按下按钮时,它将覆盖表2中的整个单元格。我想这样做:
你能帮我吗?你的密码上写着放张纸1!A:A:第二张!A:A和表1!B:B进入第二张!B:B在哪里!B:B是“a”,但你的图片上写着“放张纸1”!A:A:第二张!A:A:1!B:B是“a”,不考虑表1!B:B.我选择后者
Option Explicit
Sub CopyBasedonSheet1()
Dim j As Long, Sheet1LastRow As Long, Sheet2NextRow As Long
Sheet1LastRow = Worksheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Row
Sheet2NextRow = Worksheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row + _
IsEmpty(Worksheets("Sheet2").Range("A1"))
With Worksheets("Sheet1")
For j = 1 To Sheet1LastRow
If .Cells(j, "B").Value = "a" And _
IsError(Application.Match(.Cells(j, "A").Value, Worksheets("Sheet2").Columns("A"), 0)) Then
Worksheets("Sheet2").Cells(Sheet2NextRow, "A").Value = .Cells(j, "A").Value
Sheet2NextRow = Sheet2NextRow + 1
End If
Next j
End With
End Sub
你的密码是1号!A:A:第二张!A:A和表1!B:B进入第二张!B:B在哪里!B:B是“a”,但你的图片上写着“放张纸1”!A:A:第二张!A:A:1!B:B是“a”,不考虑表1!B:B.我选择后者
Option Explicit
Sub CopyBasedonSheet1()
Dim j As Long, Sheet1LastRow As Long, Sheet2NextRow As Long
Sheet1LastRow = Worksheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Row
Sheet2NextRow = Worksheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row + _
IsEmpty(Worksheets("Sheet2").Range("A1"))
With Worksheets("Sheet1")
For j = 1 To Sheet1LastRow
If .Cells(j, "B").Value = "a" And _
IsError(Application.Match(.Cells(j, "A").Value, Worksheets("Sheet2").Columns("A"), 0)) Then
Worksheets("Sheet2").Cells(Sheet2NextRow, "A").Value = .Cells(j, "A").Value
Sheet2NextRow = Sheet2NextRow + 1
End If
Next j
End With
End Sub
我知道我说的让人困惑,但你理解对了,我想怎么做,谢谢你,我知道我说的让人困惑,但你理解对了,我想怎么做,谢谢你