用vba輸入程式出現型態不符合

2009-01-29 9:57 pm
不好意思..我是VBA的新手
我想讓我的excel按鈕後
A1~A16的格子出現全都是1
B1~B16的格子出現全都是2
以此類推下去,,總共是16*16的方格
最後一列是全都是16
以下是我的程式碼

Private Sub CommandButton1_Click()
Dim i, j As Integer
For i = 1 To 16
For j = 1 To 16
Worksheets(Sheet1).cell(i, j).Value = i
Next j
Next i
End Sub

但在按鈕執行時會出現"型態不符合"
是因為excel格子內不能用integer嗎
還是有其他問題
謝謝
更新1:

請問一下哈士奇 Worksheets("Sheet1").Cells(i, j) = i 我知道是差在"sheet1" 我的沒有雙引號 那我想知道cell(i,j)後面有加value跟沒加value有沒有差別 謝謝

更新2:

我以為在vb.net寫Dim i, j As Integer跟在vba裡寫是相同的意思 因為以前寫vb.net的作業也是這樣寫 現在我知道了 謝謝

回答 (3)

2009-01-29 11:22 pm
✔ 最佳答案
Private Sub CommandButton1_Click()
Dim i, j As Integer

For i = 1 To 16
For j = 1 To 16
Sheets("Sheet1").Cells(j, i).Value = i
Next j
Next i
End Sub

2009-01-29 15:24:16 補充:
You may use Sheets & Cells to reference to worksheet or cells
Also, I've changed your code to ...cells(j, i) instead of cells(i, j) to produce the results you've described in your question. Happy playing :)

Calvin Lee
2009-01-30 1:03 am
沒有差別
.Value是預設的 (default), 所以可以省略
2009-01-29 10:19 pm
Dim i As Integer, j As Integer
For i = 1 To 16
For j = 1 To 16
Worksheets("Sheet1").Cells(i, j) = i
Next j
Next i

2009-01-29 18:23:47 補充:
Dim i, j As Integer <> Dim i As Integer, j As Integer
以上在vba是不一樣的寫法,前面第一個不是integer值,後面才是。
怎現在都變小學生了。


收錄日期: 2021-05-01 16:30:54
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20090129000016KK03635

檢視 Wayback Machine 備份