首页 > 解决方案 > 组合包含不同日期值(月、年)的两个不同单元格

问题描述

我正在尝试从输入表中组合两个不同的单元格值:

cell(6, k) 包含作为“标准”的年份值,例如。“2019”

cell(7, k) 包含一个作为“日期”的月份值,例如。“六月”

合并后,我想将此日期转换为格式为“MMM/YY”的输出表,例如。“六月/19”。

有没有办法在不将单元格声明为整数或字符串值并将单元格直接放在 DateSerial 函数中的情况下做到这一点?那就是尽量减少代码中的行数。

我目前收到“类型不匹配错误(#13)”。

这是我到目前为止所拥有的(输入表和输出表已经声明):

Option Explicit
Sub formdate()  

Dim erow As Long
Dim outputsheet As Worksheet
Dim inputsheet As Worksheet
Dim i As Long

    For i = 1 to 4

        erow = outputsheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

        outputsheet.Cells(erow, 1) = DateSerial(inputsheet.Cells(6, i).Value, month(inputsheet.Cells(7, i).Value), 1)
        outputsheet.Cells(erow, 1).NumberFormat = "MMM/YY"

    Next i

End Sub

标签: excelvba

解决方案


因此更改For循环中的相应行:

    outputsheet.Cells(erow, 1) = _
         CStr(inputsheet.Cells(7, i).Value) & " " & CStr(inputsheet.Cells(6, i).Value)
    outputsheet.Cells(erow, 1).NumberFormat = "MMM/YY"

推荐阅读