Excel Macro&VBA,将单元格范围复制到另一个工作表(已转置并基于另一个值)

时间:2019-01-30 04:43:54

标签: excel vba

我曾尝试从不同的线程来解决问题,但我是VBA和编程的新手,所以进展不太顺利...

以下是一些基本信息:

  • 我在同一工作簿中有2个工作表(数据库和数据条目)
  • 它们包含相同的标题,但是是转置的(数据库的标题在列中,而数据条目的标题在行中)

现在,我正在寻找3件事(最好是在一个紧凑的解决方案中)

  1. 具有一个命令按钮,该按钮可将数据输入到数据库的最新范围(最左列)复制并转置。 (这在下面的代码中完成)

  2. 这应该根据数据输入表上的某个单元格值来完成(理想情况下,该单元格可以保留复制范围的一部分,但这并不重要)

  3. 从数据输入表中删除原始范围。

正如我所说的,我刚刚开始使用VBA,所以我完全不确定该怎么做,我已经收集了到目前为止收集到的内容(不包括Nr.2,并且感觉非常麻烦)。非常感谢您的帮助!

Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Dim xSheet As Worksheet
    Set xSheet = ActiveSheet
        If xSheet.Name <> "Definitions" And xSheet.Name <> "fx" And xSheet.Name <> "Needs" Then
            xSheet.Range("E6:E200").Copy
            Worksheets("Sheet1").Range("E6:AZ6").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        End If

    Application.ScreenUpdating = True
End Sub

1 个答案:

答案 0 :(得分:0)

选中此一项。它检查E10的值。如果为“ Y”,则从原始位置复制和删除数据。否则,它会向用户显示一条消息。

git branch