- 締切済み
excelで宝くじ様な連番をしたい
excelで宝くじ様な連番をしたいです。 一枚ずつ同じものを印刷して一箇所だけ 番号加算していくような感じでやりたいのですが 1-1000番まで各紙に割り振りたいです。 ページの用に角につけるものではなくて 任意の場所にしたいのですが http://oshiete1.goo.ne.jp/qa3198485.html ここにも似たようなことがありましたが VBEがうまくいきません2000だからですかね 2003を使っています、 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hallo-2007
- ベストアンサー率41% (888/2115)
参考にされた、スレのタイトルは 「ワードで抽選番号を振りたい。」です。 エクセルVBAについて、コマンド類、どの程度、ご存知でしょうか。 意味がわからず、モジュールをコピィしていても成長しませんよ。 ちなみに、私のパソコンで、マクロの記録、印刷、マクロの記録の終了 を操作した後に、作成されたモジュールは Sub Macro1() ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True End Sub です。シートを1枚、プリントするという意味です。 Sub Macro1() ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Range("C4").Value=Range("C4").Value+1 End Sub と、1行挿入することで、印刷すると、C1の値がひとつ増えます。 繰り返し処理は For i = 1 To 100 **ここに、繰り返したい内容を記述 Next i For ~ Nextの間を。変数 iがひとつずつ増えながら100になるまで繰り返すと云う事です。
- hallo-2007
- ベストアンサー率41% (888/2115)
参照されたスレは ワードでの事例のようですが。 VBA使った簡単な方法で、印刷したらセルの値が、ひとつ増える ようにしては、いかがですか? 1、最初にボタンの作成 表示、ツールボックス、フォームでボタン選択してシートに配置 2、ボタンを右クリックして、マクロの登録、記録で、一枚印刷 記録の終了 3、記録したマクロに手を加えます。 ボタンを右クリックして、マクロの登録、編集で、VBエディターを開く。 仮に連番を入れたいセルがC10の場合 End Subの前の行に、 Range("C10").Value=Range("C10").Value+1 と1行挿入 これで、ボタンを押して印刷するごとに数値がひとつづつ増えると思います。 うまく出来たら Do、Loop コマンドで100回でも繰り返す事も出来るかと思います。 VBAのコマンド少しずつでも理解していくと大変、重宝する機能ができます。がんばってみてください。
お礼
ありがとうこざいます。 VBエディターで Sub hhh01() For i = 1 To 3 ActiveDocument.Tables(1).Range.Cells(1).Select Selection.TypeText Text:="番" & Format(i, "000") ActiveDocument.PrintOut Next i Range("C4").Value=Range("C4").Value+1 End Sub 実行すると実行エラー424がでて オブジェクトが必要です。 なるのですどうしてですか教えてください。
- FEX2053
- ベストアンサー率37% (7991/21371)
プリミティブな方法として「1000ページ分作ってしまえ!」というのもアリかと。 どのみち1000枚連続印刷なんて紙詰まりがあったりして大変ですから、 100枚程度づつ印刷すると思いますけど、とにかく1枚分を作ってしまい 印刷範囲をその1枚が印刷できるように調整した上で、数字の部分だけ 「=A1+1」とかにしておけば、コピーするだけで数字は増えていきます。 100ページ分作ったら印刷、後は先頭の数字部分だけを"101"とかに入れ 替えれば、次の100ページは一瞬にして出来ます。これ、分からない方法を 試行錯誤するより、案外速く出来ますよ。
お礼
ありがとうこざいます。 これでできると思います。
お礼
よくわかりました。 できました。 ありがとうございました。