|
satoko さん
ども。
'追加1.ここから <------
If IntStartId = IntLastId Then 'Txt_StartId = Txt_LastIdの場合
MsgBox "終了位置が開始位置と等しい為実行出来ません。", vbExclamation, "終了位置エラー"
Me.Txt_LastId.SetFocus
Exit Sub
Elseif IntStartId < IntLastId Then 'Txt_StartId < Txt_LastIdの場合
MsgBox "終了位置が開始位置より手前な為実行出来ません。", vbExclamation, "終了位置エラー"
Me.Txt_LastId.SetFocus
Exit Sub
End If
' ------> ここまで追加1.
の部分で間違いがありましたので訂正します。(不等号が逆でした。ゴメンナサイ)
正)
If IntStartId = IntLastId Then 'Txt_StartId = Txt_LastIdの場合
MsgBox "終了位置が開始位置と等しい為実行出来ません。", vbExclamation, "終了位置エラー"
Me.Txt_LastId.SetFocus
Exit Sub
Elseif IntStartId > IntLastId Then 'Txt_StartId > Txt_LastIdの場合
MsgBox "終了位置が開始位置より手前な為実行出来ません。", vbExclamation, "終了位置エラー"
Me.Txt_LastId.SetFocus
Exit Sub
End If
です。
For j = IntStartId To IntLastId
.Cells((j - 1) * Cnt + IntNoRow, IntNoCol) = j
Next
の解説ですが、
jは 開始の受け付け番号 〜 終了の受付番号迄 1づつカウントアップしながら繰り返し処理をします。
(j - 1) * Cnt + IntNoRow ← 行番号
IntNoCol ← 列番号
(j - 1) * Cnt + IntNoRow は 受け付け番号を入力する行は受け付け番号の行によって変動ものと思いますので、
帳票1番号分の行数 * j - 1 で入力する受け付け番号の一個前の受け付け番号の最終行を導きだします。
+ IntNoRow で 帳票1番号分内での書き出し行位置を足す事により受け付け番号を入力する行が確定します。
(j - 1) * Cnt + IntNoRow にて確定した行の1列目に j を書き出す。
といった感じですね。
別の部分で質問ですが、
ちなみに、Vlookup関数を設定してあるセルは、何処から何処まで設定されていますでしょうか?
1ページ分だけ?
1ページ分だけとかならPrg側で数式書き出す処理も追加してあげないと値拾ってこないんで。
|
|