2014-12-06 163 views
-2

我有VBA一个编译错误,但我不明白问题出在哪里: 这里是我的代码:Sub或功能没有定义VBA

Sub etat() 
Dim i As Single 
Set plage = Range("D2:A24") 
Dim etat As String 

For i = 2 To 23 'début de la boucle 
    If (Sheet("Voitures").Cell(i, D).Value < 2002) Then 
     Sheet("Voitures").Cell(i, H).Value = "TRY" 
    End If 
Next i 

End Sub 

的错误是Sub或功能没有界定

+4

修改后的代码 使用'Sheets'和'Cells'初始化初始化,不是'Sheet'和'Cell'。 – GSerg 2014-12-06 14:59:23

回答

2

这里低于

Sub etat() 
Dim i As Single 
Set plage = Range("D2:A24") 
Dim etat As String 

' d and h are columns 
Dim d As Integer 
Dim h As Integer 
d = 4 
h = 6 

For i = 2 To 23 'début de la boucle 
    If (Sheets("Voitures").Cells(i, d).Value < 2002) Then 
     Sheets("Voitures").Cells(i, h).Value = "TRY" 
    End If 
Next i 

End Sub 
+0

非常感谢你对这个愚蠢的问题抱歉。 – Tuytuy 2014-12-06 15:19:41

0

If (Sheet ..应If (Sheets ..复数

CellCells ..复数

可变d需要声明和一个值

变量H需要声明和一个值

+0

D和H假设是列,我从来没有使用vba之前,所以我不知道如何声明列 – Tuytuy 2014-12-06 15:04:40

+0

你用Dim,变量名称和数据类型例如声明变量。 Dim H as Long然后在一个新行上H = 2 - 就像你对变量i所做的那样。 – barryleajo 2014-12-06 15:07:19