• 締切済み

自動書込と、自動ページ送り

ド素人なので上手く伝える事が出来か分かりませんが、お伺い致します。 エクセルVBAを利用して行いたいのですがVBAがなかったのでVBの所で質問致します。 office2000を使っています 色々参考書を見たのですが載っていなかったので質問致します。 A1に数字を入力しその数字より1大きい数字がB1へB1より1大きい数字をC1へ出力します。ここまでは誰にでも出来る事ですが。 C1=B1+1から100まで出力し、100になった時点でB1が1プラスされる。B1がプラスされると元々C1の再下位の数字より1増える、これはA列も同じで、それを200行書き込んで10列ずれて又続きを出力し。又200行後今度は次ページA1~C1へ出力これを繰り返し98,99,100になるまで連続出力したいのですがどうすればいいのか全然です。 例 A1 , B1 , C1 ; J1 , K1 , L1 1 , 2 , 3 ; 1 , 3 , 95 1 2 4 1 3 96 ・ , ・ ,  ・    ;・  ,  ・  , ・ 1 , 2 , 100 ; 1 , 99 , 100 1 , 3 , 4 ; 2 , 3 , 4 上記のように数字を出力したいのですがこの説明で分かりますか? 今回A1を1から始めていますが、1ばかりでは無いので 又MAXも100としていますが、MAX100ばかりではありません。がとりあえず例として書きました。 多分やり始めの私のしては参考書飲み方も良く理解できていないのでしょうね。全然分かりませんでした。 全部お願いって言うのは簡単ですがそれは、Q&Aに反していると思いますので要所要所のヒント又例文を教えて下さい。 よろしくお願いします

みんなの回答

回答No.2

さっきのやつ、終了条件入れる場所間違えました。 無限ループになってしまいます。 do while (条件) にするか、ループ中に終了条件入れてください。

回答No.1

大雑把だけどこんな感じかな? 質問主さんの例だと2列目が99で終わってるけど100にしてみた。 Dim x As Integer '左 Dim y As Integer '中 Dim z As Integer '右 Dim row As Integer '行カウンタ Dim col As Integer '列カウンタ Dim intSheet As Integer 'シートカウンタ Dim blnNextPage As Boolean '次シートフラグ '初期値セット x = 1 y = 2 z = 2 row = 0 col = 1 intSheet = 1 Do While (1) 'zカウント z = z + 1 If z > 100 Then 'zが100以上ならy+1 y = y + 1 If y > 100 Then 'yが100以上ならx+1 x = x + 1 '終了条件 If (x = 99 And y = 99 And z = 100) Then Exit Do 'y初期化 = x+1 y = x + 1 End If 'z初期化 = y+1 z = y + 1 End If '行カウント row = row + 1 If row > 200 Then '200で次の列か次のページへ If blnNextPage Then '行・列カウンタ初期化 col = 1 row = 1 '次のシートへ intSheet = intSheet + 1 '次のシートが無い場合は追加 If intSheet > Worksheets.Count Then Sheets.Add After:=Worksheets(Worksheets.Count) End If 'シートをアクティブに Worksheets(intSheet).Select 'フラグ消去 blnNextPage = False Else '次の列へ col = col + 10 row = 1 blnNextPage = True End If End If 'データ表示 Worksheets(intSheet).Range(Chr(64 + col) & row).Cells = x Worksheets(intSheet).Range(Chr(64 + col + 1) & row).Cells = y Worksheets(intSheet).Range(Chr(64 + col + 2) & row).Cells = z Loop

g63b
質問者

お礼

うひゃ~一杯書いてくれてる ありがとうございます 明日検証してみます。参考書で見たこと書いてますが、今の私にとっては何が何やら。 参考書とにらめっこで考えながらやってみます

関連するQ&A

専門家に質問してみよう