我在尝试创建简单表格时遇到语法错误而且我不知道原因。当我在它之后写.name
时它起作用,当我只写ws.ListObjects.Add
时它也有效。有人可以解释一下正确的语法是什么吗?
谢谢。
Sub CreateTable()
Dim wb As Workbook
Dim ws As Worksheet
Dim rng As Range
Set wb = Workbooks("?????")
Set ws = wb.Worksheets("owssvr-úpravené")
Set rng = ws.Range("A1").CurrentRegion
rng.Find(What:="Next_Review_Date", LookAt:=xlWhole).Name = "Next_Review_Date"
With ws.Range("Next_Review_Date").Offset(0, 1)
.EntireColumn.Insert shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
.EntireColumn.Insert shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
.EntireColumn.Insert shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
End With
With ws.Range("Next_Review_Date")
.Offset(0, 1).Value = "Rozdiel dátumov"
.Offset(0, 2).Value = "Overdue"
.Offset(0, 3).Value = "Review year"
End With
ws.ListObjects.Add(xlSrcRange, rng, , xlYes)
End Sub
答案 0 :(得分:2)
您需要从
中删除括号ws.ListObjects.Add(xlSrcRange, rng, , xlYes)
<强>为什么吗
如果您调用过程/函数而未将某些内容返回到变量中,则不使用括号:
ws.ListObjects.Add xlSrcRange, rng, , xlYes
如果您返回使用括号:
MyVariable = ws.ListObjects.Add(xlSrcRange, rng, , xlYes)
这也适用于所有其他功能/程序。