首页 > 解决方案 > 如何使用vba将日期从一个工作簿复制到另一个工作簿?

问题描述

一些背景知识: Excel 将日期存储为序列号,其中 [1] 是 1990 年 1 月 1 日,上个月末 (9/30/2021) 是 [43007]。但是,将 2021-09-30 这样的日期复制到新工作簿时,日期看起来像 [44469]。

问题:使用 vba 将日期从一个工作簿复制到另一个工作簿时,日期将转换为代表未来日期的序列号。我想知道如何以不会将日期转换为序列号的方式复制日期,或者以粘贴正确序列号的方式复制日期。

我正在使用的复制数据代码:

    '----Number of Rows & Cols for workbook with the data I want
    Dim wbRowCount As Integer
    Dim wbColCount As Integer

    wbRowCount = wb.worksheets(1).UsedRange.Rows.Count
    wbColCount = wb.worksheets(1).UsedRange.Columns.Count

    '----Number of rows & cols for workbook with vba
    Dim startIndex As Integer
    Dim numRows As Integer
    Dim numCols As Integer

    startIndex = 0

    For numRows = 1 to wbRowCount
        For numCols = 1 to wbColCount
           Cells(numRows + startIndex, numcols) = wb.Worksheets(1).Cells(numRows, numCols)
        Next numCols
    Next numRows

    startIndex = numRows + 1
    numRows = 0

标签: excelvba

解决方案


推荐阅读