简体   繁体   English

添加一个月至今

[英]Add one month to date

I have a spreadsheet in which i am trying to create a table and send it word.我有一个电子表格,我正在尝试在其中创建一个表格并将其发送给它。 That part works fine.那部分工作正常。 The only issue i'm having its concerning the date.我唯一的问题是关于日期。 I have a date in cell B1(10/04/2020).I must add one month to that date.我在单元格 B1(2020 年 10 月 4 日)中有一个日期。我必须在该日期上加一个月。 I am using the DateAdd function.When i execute VBA, i get an error 'object does not support this property or method on this line objTbl.Cell(T, 3).Value = DateAdd("m", 1, Range("B1").Value)我正在使用 DateAdd function。当我执行 VBA 时,我收到一个错误“对象不支持此行objTbl.Cell(T, 3).Value = DateAdd("m", 1, Range(" B1").值)

My codes are as follows:-我的代码如下: -

Sub CreateTableInWord()
Dim objWord As Object
Dim objDoc As Object
Dim objTbl As Object
Dim objRow As Object
Dim objCol As Object
Dim lngCols As Long
Dim lngRows As Long
Dim I As Long

    lngCols = 6
    lngRows = 62

    Set objWord = CreateObject("Word.Application")

    objWord.Visible = True

    Set objDoc = objWord.Documents.Add(DocumentType:=0)

    Set objTbl = objDoc.Tables.Add(Range:=objDoc.Paragraphs(1).Range, NumRows:=lngRows, NumColumns:=lngCols)

    Set objRow = objTbl.Rows(1)


   objTbl.Cell(1, 1).Range.Text = "Instal No"
   objTbl.Cell(1, 1).Range.Bold = True
   objTbl.Cell(1, 2).Range.Text = "Amt(Rs)"
   objTbl.Cell(1, 2).Range.Bold = True
   objTbl.Cell(1, 3).Range.Text = "Due Date"
   objTbl.Cell(2, 3) = Range("B1").Value
   objTbl.Cell(1, 3).Range.Bold = True
   objTbl.Cell(1, 4).Range.Text = "Instal No"
   objTbl.Cell(1, 4).Range.Bold = True
   objTbl.Cell(1, 5).Range.Text = "Amt(Rs)"
   objTbl.Cell(1, 5).Range.Bold = True
   objTbl.Cell(1, 6).Range.Text = "Due Date"
   objTbl.Cell(1, 6).Range.Bold = True
   objTbl.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
    For I = 2 To lngRows

    ' For j = 1 To intNoOfColumns

  objTbl.Cell(I, 1).Range = I - 1

     Next

   For S = 2 To lngRows

  objTbl.Cell(S, 2) = Range("A1").Value

    Next

For T = 2 To lngRows

objTbl.Cell(T, 3).Value = DateAdd("m", 1, Range("B1").Value)

Next T


    Set objCol = Nothing

    Set objRow = Nothing

    Set objDoc = Nothing

    Set objWord = Nothing

End Sub

Your help will be highly appreciated您的帮助将不胜感激

regards问候

rakesh拉克什

Use:利用:

objTbl.Cell(T, 3).Range.Text = DateAdd("m", 1, Range("B1").Value)

PS: Most of your code would be unnecessary if you used a Word template with the boilerplate content already present. PS:如果您使用已经存在样板内容的 Word 模板,则您的大部分代码都是不必要的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM