簡體   English   中英

Sub test() Dim z As String For z = 14 To 17 For b = 14 To 17 ActiveSheet.Cells(b, 13) = "z" Next z Next b End Sub

[英]Sub test() Dim z As String For z = 14 To 17 For b = 14 To 17 ActiveSheet.Cells(b, 13) = "z" Next z Next b End Sub

我是 VBA 的新手,而且是個菜鳥。 我試圖讓一個變量在循環時在引號內工作。 例如:

Sub test()
Dim z As String
For z = 14 To 17
For b = 14 To 17

ActiveSheet.Cells(b, 13) = "z"

Next z
Next b

End Sub

我收到“編譯錯誤:類型不匹配”。 有人能告訴我我做錯了什么嗎? 謝謝你的幫助。

您將變量z聲明為字符串。 字符串不是數字,不能在for循環中遞增或使用。

將變量聲明為整數並將值打印到單元格中。

外部 z 循環在內部 b 循環之前關閉。 這也是個問題。 您可能希望習慣於縮進代碼以使此類錯誤更加明顯。

總體而言,目前尚不清楚您想要實現的目標。 如果您只想將 z 值打印到一個范圍內,則根本不需要 b 循環,例如:

Sub test()
Dim z As Integer

For z = 14 To 17
' enters z value into column M
    ActiveSheet.Cells(z, 13) = z
Next z

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM