首页 > 解决方案 > 按范围内的引用单元格按字母顺序将范围粘贴到新工作表

问题描述

我正在尝试根据他们填写的客户信息更好地为我的员工组织工作清单。

所以,我有一本有 3 张纸的工作簿;我选择客户要求的“条目表”,一个数据库表只是为了让我的选择更容易,还有一个“工作列表表”,然后我从条目表中导出所选信息。我想做的是,当我单击导出按钮时,让 VBA 获取范围(它已经这样做)并将其粘贴到“工作列表”,但仅按客户名称的字母顺序(在本例中为“输入表”上的 F3 .基本上,我不想按字母顺序对范围进行排序-我只想按字母顺序将范围粘贴到新工作表上,引用F3。我错过了什么?

我能找到的大多数“解决方案”主要是处理对实际范围本身进行排序,我在 PasteSpecial 文档中找不到任何似乎有帮助的东西——尽管我承认我不知道我想把它埋在 PasteSpecial - 这对我来说似乎很有意义。

Private Sub exportInfo_Click()
    Application.ScreenUpdating = False

    Dim copySheet As Worksheet
    Dim pasteSheet As Worksheet

    Set copySheet = Worksheets("Entry Sheet")
    Set pasteSheet = Worksheets("Work List")

    If IsEmpty(Range("D3")) = True Then
        MsgBox "Customer Name Required", , "!!You Donut!!"
    Else
        copySheet.Range("F3:I8").Copy
        pasteSheet.Cells(Rows.Count, 3).End(xlUp).Offset(1, -2).PasteSpecial xlPasteValues
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End If
End Sub

我要解决这一切都错了吗(完全可能)?我应该将其复制为范围以外的其他内容吗?实际上是否有 PasteSpecial 的功能可以做到这一点,而我只是想念它(再次,完全可能)?我会很感激这里的任何指示。谢谢!

标签: excelvba

解决方案


推荐阅读