excel - 仅复制一个范围中的文本并仅将前三个文本粘贴到另一张纸上

标签 excel vba

我最多有 6 个单元格,其中的潜在数据来自 6 个不同的地方。我试图仅获取前三个单元格,并将数据传输到另一张表格

Private Sub Transfer_Data()

Sheets("sheet1").Range("A1:A6").SpecialCells(xlCellTypeConstants, 23).copy

Sheets("sheet2").Range("A1:A3").PasteSpecial Paste:=xlPasteValues

Application.CutCopyMode = False

End Sub

这就是我所拥有的,我知道我缺少分配

最佳答案

这就是我要做的:

Sub Transfer_Data()

Dim i As Long, j As Long

j = 1

For i = 1 To 6
    If Sheets("Sheet1").Cells(i, 1).Value <> "" Then
        Sheets("Sheet2").Cells(j, 1).Value = Sheets("Sheet1").Cells(i, 1).Value
        j = j + 1
    End If

    If j > 3 Then Exit For
Next i

End Sub

编辑:

Sub Transfer_Data()

    Dim i As Long, j As Long

    j = 3

    For i = 1 To 6
        If Sheets("Sheet1").Cells(i, 1).Value <> "" Then
            Sheets("Sheet2").Cells(j, 1).Value = Sheets("Sheet1").Cells(i, 1).Value
            j = j - 1
        End If

        If j = 0 Then Exit For
    Next i

End Sub

关于excel - 仅复制一个范围中的文本并仅将前三个文本粘贴到另一张纸上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53991005/

相关文章:

excel - 如果特定范围内的单元格全部为空,则删除整行

vba - 监听运行时创建的控件的事件

excel - 通过更改类名进行抓取

Excel VBA获取合并单元格的内容

vba - 用户窗体设计时间 : Move controls with arrowkeys

Excel VBA .Select 仅适用于表格(1)

VBA:从本地驱动器名称转换为网络驱动器名称

excel - 从所有工作表中复制范围并将它们粘贴到新的工作表中

excel - Excel Vba 中的日期选择器

excel - 如何在任何工作表中找到真正的最后一个单元格