范围的一部分格式化为文本

时间:2019-01-18 16:07:58

标签: excel vba

在此链接Merging two macros后面跟随@Pᴇʜ的答案

我还有一个挑战。 在名为“ RawTab1”的命名范围内,列J包含格式为'2018 的值“年”,在列K中包含格式为 '12 的值“月”。 3}}。

我通过@Pᴇʜ使用宏将rng“ RawTab1”复制到名为“ Data”的工作表中名为“ DataTable”的表中

所以我的问题是:

  • 是否可以粘贴这两个数字格式的列?

否则,宏将完美运行。

1 个答案:

答案 0 :(得分:1)

尝试:

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
        Dim Crng As Range
        Set Crng = .Resize(RowSize:=.Rows.Count - 2).Offset(RowOffset:=2)
    End With

    sht.Range("A2").Resize(Crng.Rows.Count, Crng.Columns.Count).Value = _
         sht.Evaluate("IF(ISNUMBER(--" & Crng.Address(0, 0, xlA1, 1) & "),--" & Crng.Address(0, 0, xlA1, 1) & "," & Crng.Address(0, 0, xlA1, 1) & ")")

End Sub