小弟有一EXCEL表。其中D列记录日期,格式是:2009-2-6。请问怎样将D列拆分成三列。即年、月、日各为一列。用VB能实现吗?求教~~~

解决方案 »

  1.   

    应该是可以的。Year(date)返回当前日期中的年份 Month(date)返回当前日期中的月份 day(date)返回当天是几号
    分列写入EXCEL表中就可以了。
      

  2.   

    用year()、month()与day()函数分别得到年份、月份与日
      

  3.   

    我本意是想用VB6建一工程文件.
    在FORM1中添加一command,名为commamd1,
    先用Excel.Application对EXCEL进行连接,再进行分列操作.
    但现在看起来似乎两位的办法比较简单可行,但两位说到的Year,Month,Date函数的用法,我并不懂.
    希望能详细说明~~~~
    谢谢了.
      

  4.   


    Private Sub Command1_Click()
    Dim xlApp As Object   '定义存放引用对象的变量。
    Set xlApp = CreateObject("excel.application")
       '如果要让该应用程序可见,则需将 Visible 属性设为 True。
    Set vBook = xlApp.Workbooks.Add
    xlApp.Visible = True
     xlApp.Cells(1, 1).Value = Year(Date)
    xlApp.Cells(1, 2).Value = Month(Date)
    xlApp.Cells(1, 3).Value = Day(Date)
    xlApp.Quit   '完成时,调用 Quit 方法关闭
    Set xlApp = Nothing
    End Sub
      

  5.   

    首先要感谢老张回复我的问题,谢谢!但老张的代码是读取当前日期,然后分列记录在EXCEL中.我的意思是说,我的EXCEL表内D列是记录日期的,其中包含了很多个不同的日期.(如2008-12-11,2009-1-1,2007-6-12等,)我现在的目的是将D列分拆成三列,年\月\日各为一列.请问有办法吗?劳驾!
      

  6.   

    修改一下代码不就可以了吗?唉~~~~~~Private Sub Command1_Click()
        Dim xlApp As Object   '定义存放引用对象的变量。
        Dim myDate As Data
        
        Set xlApp = CreateObject("excel.application")
           '如果要让该应用程序可见,则需将 Visible 属性设为 True。
        Set vBook = xlApp.Workbooks.Add
        xlApp.Visible = True
        
        For i = 2 To [A65536].End(xlUp).Row
            myDate = xlApp.Cells(i, 1)
            xlApp.Cells(i, 2).Value = Year(myDate)
            xlApp.Cells(i, 3).Value = Month(myDate)
            xlApp.Cells(i, 4).Value = Day(myDate)
        Next i
        
        xlApp.Quit   '完成时,调用 Quit 方法关闭
        Set xlApp = Nothing
    End Sub
      

  7.   

    楼上的朋友,你的代码我已经试过了,不行.我的程序包含一个名为COMMAND1的命令按钮,需要连接的EXCEL表名称为:Data,放在D盘的根目录下,需要分拆的列为D列.
    我已经引用了Microsoft Excel 11.0 object Library.
    不知道还有什么需要注意的吗?新手上路,敬请谅解!谢谢...
      

  8.   

    原来EXCEL中带有分列功能. 谢谢各位的帮忙!