Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 合并两个宏_Excel_Vba - Fatal编程技术网

Excel 合并两个宏

Excel 合并两个宏,excel,vba,Excel,Vba,我有一张名为“raw data”的原始数据表,我想把这些数据复制到另一张名为“data”的表中 在“原始数据”中,我有一个名为“RawTab1”的命名范围 在“Data”中,我有一个名为“DataTable”的表,我想在其中粘贴范围“RawTab1”中的数据,但不粘贴范围“RawTab1”中的前两行数据 A在粘贴来自RawTab1的新数据之前,已使用此宏清除DataTable中的数据: Dim sht As Worksheet Set sht = ThisWorkbook.Wor

我有一张名为“raw data”的原始数据表,我想把这些数据复制到另一张名为“data”的表中

在“原始数据”中,我有一个名为“RawTab1”的命名范围 在“Data”中,我有一个名为“DataTable”的表,我想在其中粘贴范围“RawTab1”中的数据,但不粘贴范围“RawTab1”中的前两行数据

A在粘贴来自RawTab1的新数据之前,已使用此宏清除DataTable中的数据:

    Dim sht As Worksheet
    Set sht = ThisWorkbook.Worksheets("Data")
        Range("A3:M3", sht.Range("A3:M3").End(xlDown)).ClearContents
    End Sub
这是将数据从RawTab1范围复制到DataTable的宏

  Sub CopyRawTab1()
Application.Goto Reference:="RawTab1"
Selection.Copy
Sheets("Data").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
End Sub
因此,我的问题是:

  • 如何合并这两个宏
  • 如何避免不将RawTab1中的前两行粘贴到DataTable中

  • 它应该类似于以下内容:

    Option Explicit
    
    Public Sub Combined()
        Dim sht As Worksheet
        Set sht = ThisWorkbook.Worksheets("Data")
        sht.Range("A3:M3", sht.Range("A3:M3").End(xlDown)).ClearContents
    
        With Worksheets("Raw Data").Range("RawTab1")
            'copy everything from RawTab1 but not the first 2 rows
            .Resize(RowSize:=.Rows.Count - 2).Offset(RowOffset:=2).Copy
        End With
    
        sht.Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    End Sub
    

    请注意,在复制之前,我使用了和的组合来删除
    RawTab1
    范围的第一行到行。

    我建议阅读并应用@Peh,这正是我所寻找的,它非常有效。非常感谢。我还有一个额外的挑战,将文本格式化为数字。“RawTab1”中第J列和第K列(年和月)中的值的格式为“例如”2018。所以我的问题是,有没有可能粘贴这两列格式为数字的内容?否则宏工作正常。@NewCalc我们无法在此继续。请就此提出一个新问题。并给出一个完整的例子(或者更好的截图)。另见。评论不足以回答这个问题。完成后,创建了一个[新的撤销]()