
VB6・DB:Access2002
Private Sub Command1_Click()
j = 5
For i = 0 To 10
If Form1.Check1(i).Value = 1 Then
xlSheet.Cells(j, 1) = Form1.Check1(i).Caption
'次のレコードへ
j = j + 2
[k = j]
End If
Next i
End Sub
上記のようなコードを作成しているのですが、これでは
当然2回目にクリックイベントを実行した時にはj = 5
を通ってしまうため、最初のレコードからExcelへ書き
込んでしまいます。2回目からは[k = j]で代入した"k"
の値を使用し、続きのレコードから書き込んでいきたい
のですが、最初のjを通らせない、良い方法はありません
か?よろしくお願いします。(すべて左側に寄っていて
見にくいようで申し訳ありませんが(汗))
No.3ベストアンサー
- 回答日時:
jをグローバル変数にもたしてあげればいいだけでしょう。
General の Declarationsで
変数を宣言して 初期値をセットしてあげればいいだけです。
ま
j = 5
だけでもいいと思いますが。
それで 最後の部分
Next i
End Sub
を
Next i
j = k
End Sub
としてあげればいいでしょう。
グローバルに持たせてはいるのですが
Public j As Integer
と、定義のみしか行っていませんでした。
j = 5 自体もグローバルで設定するようにして
うまくいきました。
ありがとうございました。
No.1
- 回答日時:
フォーム上に、一つ隠しのフィールド(テキストボックス)を作成し、VisibleをFalseにして置いてください。
これを「A」と命名しておくことにします。初期値を5に設定して置いてください。で、
Private Sub Command1_Click()
j = Form1.A.Value
For i = 0 To 10
If Form1.Check1(i).Value = 1 Then
xlSheet.Cells(j, 1) = Form1.Check1(i).Caption
'次のレコードへ
j = j + 2
End If
Next i
Form1.A.Value = j
End Sub
となります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するQ&A
- 1 再質問 Private Sub Worksheet_Change
- 2 Sub ***( ) と Private Sub ***( ) の違い
- 3 ExcelのVBAについて質問いたします。 シートにPrivate Sub Worksheet _C
- 4 Excel VBA: private sub 内の変数の値を Sub へ渡すには
- 5 VB2005でDB接続後、DBを後からパスワードを付けた時のVB設定を教えて下さい。
- 6 Form_LoadでDB接続ではなく、Form_Load完了でDB接続したい
- 7 VB6.0とaccessのDBを接続する
- 8 VB,NET2003のAccessやOracle以外のDBの接続について
- 9 Private Subについて
- 10 VBA[Private Sub]のコードをシート上の図形に登録する方法を教えて
関連するカテゴリからQ&Aを探す
おすすめ情報
このカテゴリの人気Q&Aランキング
-
4
別のシートから値を取得するとき
-
5
VBA シートのボタン名を変更し...
-
6
ファイル名を今日の日付、時刻...
-
7
Excel マクロ VBA プロシー...
-
8
エクセルのメモリ使用状況/Appl...
-
9
VBAのフォント変更(エクセルか...
-
10
グラフの交点の求め方(Excel)
-
11
VBとVBAの違い
-
12
vba 2つの条件が一致したら...
-
13
ExcelVBAを使って、値...
-
14
フルパスから最後のディレクト...
-
15
MsgBoxについて
-
16
ExcelVBA実行後に時々落ちる
-
17
エクセルのコントロールツール...
-
18
VBAでループ内で使う変数名を可...
-
19
エクセルのVBAでクリップボード...
-
20
CloseとDisposeの違い