アプリ版:「スタンプのみでお礼する」機能のリリースについて

どうか、ご教授お願いします。
簡単なマクロは組めますがVBAは初心者です。

エクセルで作成している、毎日提出する書類があり、フォーマットが決まっています。
日によって、件数が違いますので10件あれば10枚印刷、2件であれば2枚と印刷枚数を自動的に変更できますか?

別の表で一覧表を作り、一枚のフォーマットにはVLOOK関数を使用して反映させています。ですから今日の件数という数値はその別表のセルでcounta関数で数値は出ます。
その数値を終了ページに反映させるということはできますか?
質問もつたないですがよろしくお願いします

A 回答 (5件)

>貼り付けましたが、エラーでデバック(?)と出ました。

実行エラー1004 数値は1から32767の範囲でなければないりません。この数値の範囲で入力しなおしもう一度行ってください、と表示されました。

えーっとですね。それは多分セルAE23に数字が何も入っていないか、32767以上の数字が入ってる。
もしくは
saisyuu = Range("AE23").Value
の変数を指定してますが、どこのシートとはこちらではわかんないので、アクティヴのシートのAE23の数値をsaisyuuという変数に入れなさいということを記述しておりますので、実行時の画面が求めたいAE23以外のとんでもないシートをアクティブにしているとだめです。
一番良いのはシートを指定してやるのが良いのですが、こちらでわからないので、そのような記述をしています。
AE23にちゃんと数字が入っているのを確認し、そこのシートを開いたまま実行確認して下さい。先ほど実行確認しましたが問題なく動きます。
    • good
    • 1
この回答へのお礼

できました!!
ありがとうございます。
本当にありがとうございます。
本を買って勉強したいと思います。
どうも何度もすみませんでした。ご親切に何度もご教示いただき本当に感謝しております。

お礼日時:2006/06/23 10:37

ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1, Collate _


:=True
のとこを下記に治して下さい。

Dim saisyuu As Integer
saisyuu = Range("AE23").Value
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=saisyuu, Copies:=1, Collate _
:=True

実行確認もデバックもしていませんが、いけると思います。
できなければまた、言って下さい。
    • good
    • 0
この回答へのお礼

Sub 印刷()
'
' 印刷 Macro
ao777さん本当に感謝します
貼り付けましたが、エラーでデバック(?)と出ました。実行エラー1004 数値は1から32767の範囲でなければないりません。この数値の範囲で入力しなおしもう一度行ってください、と表示されました。

「ActiveWindow.SelectedSheets.PrintOut From:=1, To:=saisyuu, Copies:=1, Collate _
:=True」
が黄色にマーカーされています。



' マクロ記録日 : 2006/6/22 ユーザー名 :
'

'
Dim saisyuu As Integer
saisyuu = Range("AE23").Value
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=saisyuu, Copies:=1, Collate _
:=True
End Sub

お礼日時:2006/06/22 15:04

toにセル番地をいれたのですが、エラーになります。


変数を作り入れて下さい。

あと、印刷範囲を指定して印刷するのは

Range("印刷範囲").Select
Selection.PrintOut

です。
できればエラーになったコードを見たほうが、何がやりたいのかわかりやすいのですが・・・
    • good
    • 0
この回答へのお礼

度々ありがとうございます
マクロ組むといっても、開始から終了までのボタンで構文を作成したこともありませんので、変数がわかりません。
いろいろ検索して調べたのですが、やはり意味がわからないです。本当にお恥ずかしい限りです。

Sub 印刷()
'
' 印刷 Macro
' マクロ記録日 : 2006/6/22 ユーザー名 :
'

'
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1, Collate _
:=True
End Sub

↑が取りあえず二枚印刷するをしてみたのです、そしてto:のあとにセル番地AE23入力したのですが、エラーになり後は何がなんだかわかりませんので削除すると言う繰り返しです。

すみません、よろしくお願いします。

お礼日時:2006/06/22 13:18

枚数を変化させるのであれば



Selection.PrintOut Copies:= _
Range("maisu1").Value(ここに枚数をセット)

で出来ます
    • good
    • 0

簡単なマクロは組めますが


との事なので、コードは丸々のせませんが、マクロの記録などで、印刷の枚数を適当に指定して、印刷の記録を取り、そのコードを見ると、copiesというのがあると思いますが、それが印刷枚数ですので、その数字のとこを適当な変数にしてやり、コードの一番上のほうに、
適当な変数 = 対象のシートの対象のセル.value
とすれば出来ると思います。

この回答への補足

toにセル番地をいれたのですが、エラーになります。本当に何もわかっていなくてすみませんがよろしくお願いします。
また印刷範囲をrangeで指定して枚数をセルで設定する方法もあるのですが、まったくどうやればいいのかわかりません。

補足日時:2006/06/22 11:06
    • good
    • 0
この回答へのお礼

早々にご回答いただき本当にありがとうございます。
すみません説明が不十分でしたでした。
別表にあるように、様式は同一ですが、中身が別表によりすべて違いますので、部数をセルの因数から反映させるのでなく、終了ページを反映させたいのですができますでしょうか?

お礼日時:2006/06/22 10:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A