[[20060903134639]] 『エクセルで差込印刷 - my Printの使用方法』(元?あっちゃん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『エクセルで差込印刷 - my Printの使用方法』(元?あっちゃん)

 久しぶりに質問させて頂きます。
  
[[20040816152405]] 『サンプル貸出管理表』
[[20050414215944]] 『納期管理表-今日までのデータ印刷実行』
[[20040625010324]] 『商品出荷管理表』
[[20050914204446]] 『右クリックにコマンド登録』

 等で、お世話になりました「あっちゃん」です。
 代表的なこの4つは、当時と勤務場所が変わりましたが
 アレンジして、毎日活用させて頂いております。
 とくに「納期管理表」は、これを活用して管理能力が上がったと
 今春、社長賞まで頂きました。
 SoulMan様、改めまして ありがとうございました。

 最近は、お蔭様で過去ログで解決することが多くて
 (他のサイトに行ってたわけではありませんヨ)
 質問させて頂くことがなくなってきて・・・。
 自分が使っていたニックネームも、別の方が使っておられるようで
 どうしたらいいのか分からないのですが、
 取り合えず「元」を入れて名乗ることにしました。
 過去ログで自分の質問を捜すのに困らないように。
 今、お使いの「あっちゃん」さん、お気を悪くしないでね。

 さて、今回質問させて頂きたいのは、
[[20030213173530]] 『エクセルで差込印刷をする方法は?』
 の中に出で来る
my Print → http://camaro.ddo.jp/Books/myPrint.xls についてです。

 これをダウンロードさせて頂き、
 指定プリントの「No(A列)で指定して印刷する。」の
 のボタンを押し、該当番号を入力しても
 「該当bヘありません」と終了してしまいます。
 ファイルは、ダウンロードしたままで、加工はしていません。
 なので当然、列の書式設定は「標準」になっています。

 何がいけないのでしょうか?
 よろしく、ご教授下さいませ。


 何番を入力してもではないですよね?1番だけでしょう?
 コードにそうなるように書いてあるので。
 (やっちん)

 [[20030213173530]] 投稿者のみやほりんです。
作成者のINAさんはおそらくすぐにはご返信をいただけない状態と想像いたします。
僭越ながら代打をいたします。 
「該当bヘありません」を表示するためのステートメントは次の部分です。
 
    i = Application.InputBox("No.を入力して下さい。", "指定プリント", Type:=1)

    If i = 1 Or i > .Range("A65536").End(xlUp).Row - 1 Then
        MsgBox "該当するNo.は、ありません。終了します。", 48
        Exit Sub
    ElseIf i = 0 Then
        Exit Sub
    End If
 
InputBox関数でユーザーの指定するNoを取得し、そのNoが有効なものかどうか判断する、
という部分です。
InputBoxに0が入力(未入力)されればExit Subでプロシージャから抜ける、
InputBoxに「1、またはA列の最下行の行番号マイナス1より大きい値」が入力された
場合に「該当するNo.は、ありません。終了します。」を表示してプロシージャから抜ける、という分岐処理がなされます。
 
作成者のINAさんはサンプルデータどおり、A列に「1から始まる連番」の入力を期待して
設計されていますが、上記のとおり、
「1を入力した場合」または「A列の行数マイナス1よりも大きい数値を入力した場合」
で該当メッセージが表示されます。
 
【原因】コーディングミス?
ここで、「1を入力した場合」に該当メッセージが表示されてしまうのは
不都合ですので、コーディングミスと推測します。
    If i = 1 Or i > .Range("A65536").End(xlUp).Row - 1 Then
の部分は
    If i > .Range("A65536").End(xlUp).Row - 1 Then
と修正して使用してみてください。
 
【リストでの要因】
先にも書いたとおり、リストのA列には「1から始まる連番」の入力を期待されています
ので、連番でない数値を入力してその番号をInputBoxへ入力しても期待したデータが
印刷されない、もしくは「該当するNo.は、ありません。終了します。」が表示される
結果となりますので、A列は「1から始まる連番」である必要があります。
 
なお、
[[20030213173530]] にもコーディング修正の必要がある旨、追加コメントしておきます。
(みやほりん)(-_∂)b


 やっちんさまがおっしゃる通り「1」のみ、終了してしまいます。
 バカな私なので、他の番号で試してみなかったのです。
 ごめんなさい。m(_ _)m

 みやほりんさま、ありがとうございました。
 みやほりんさまが修正して下さったコードを貼り付け実行してみました。
 バッチリでした。
 もっと、コードを勉強せねば!
 不勉強でごめんなさい。

 やっちんさま、みやほりんさま、本当にありがとうございました。
 (元?あっちゃん)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.