Excel VBA插入缺少日期

时间:2018-04-04 23:17:46

标签: xml excel vba excel-vba

嗨,我对vba很陌生,我已经尝试了很长时间来弄清楚这一点,但似乎无法破解它。

我有一张包含多张工作表的工作簿,在偶数编号的工作表中,a列中的日期为yyyy-mm-dd格式,b列中的数据为(不同)。

Excel中似乎不能够识别这些日期,以及我需要使用用于查找在每个片材缺少的日期,然后插入一个新行与所述缺少的日期的公式(和空白为列'S B通不过那片是宽的)。

我只是试图将日期转换为mm/dd/yy而丢失,以便Excel至少将它们识别为日期。

我的代码不是很好,但到目前为止我还是只知道如何遍历偶数页并插入空白列。

 Sub add_columns()
    Dim i As Integer
    Dim ws_num As Integer



    Dim starting_ws As Worksheet
    Set starting_ws = ActiveSheet
    ws_num = ThisWorkbook.Worksheets.Count

        For i = 2 To ws_num Step 2
                ThisWorkbook.Worksheets(i).Activate
                    Range("B1").EntireColumn.Insert
                    Range("B:D").EntireColumn.Insert

                 **For x = 2 to #ROWS in column B
                    cell.b"x" = MID(b"x",3,2) 
                    cell.c"x" = mid(a"x",6,2)
                    cell.d"x" = left(a"x",2)
                    cell.e"x" = c"x" / d"x" / b"x"
                 next**

        Next   
End Sub

明星之间的东西是我无法弄清楚的,这只会给我正确的日期,但即使这样也会有很大的帮助。

之后我会尝试写一些东西来查看日期,确定一个单元格是否等于前一个加号,如果没有插入新行,则使日期单元格等于前一加一,再检查等等。

谢谢

1 个答案:

答案 0 :(得分:0)

帮助您进行日期转换。您可以检查您的语言环境,并检查DateValue是否适合您。

在使用字符串函数转换'yyyy-mm-dd'格式的日期方面,您可以在vba中进行如下操作:

myDate = dateSerial(left("a" & x, 4),mid("a" & x, 6,2), mid("a" & x, 9,2))