• ベストアンサー

エクセルVBAで最終ページの確認は出来ますか?

WIN98SEでエクセル2000を使用しています。 既に作成されたシートの最終ページ又は総枚数をVBAで取得し、そのデータを活用したいと考えています。 VBAでの取得は出来るでしょうか? 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Taketoshi
  • ベストアンサー率41% (23/56)
回答No.3

下のURLを参考してみてください。

参考URL:
http://www.ae.wakwak.com/cgi-bin/sbox/~efc21/wwwlng.cgi?print+200203/02030059.txt
huku-huku
質問者

お礼

参考URLを確認してみました。 何とかなりそうです。どうもありがとうございました。

その他の回答 (2)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 ワークシート数はNo.1の人のやり方で取得出来ます。 最終シート(シートタブの一番右のシート)は、 Worksheets(Worksheets.Count) で取得出来ます。

huku-huku
質問者

補足

回答有難うございます。 質問の仕方が悪かったようで、すみませんが補足させていただきます。 ワークシートの数ではなくて、一つのシート(sheet1)がプリントアウトしたときに何ページ分有るのか、そのページ数を取得したいのです。

  • EKTAR
  • ベストアンサー率25% (35/137)
回答No.1

ワークシートの数を数えるということでしたら countプロパティを使えばよろしいのではないでしょうか? worksheets.countでシートの枚数が返ってきます。

huku-huku
質問者

補足

回答有難うございます。 質問の仕方が悪かったようで、すみませんが補足させていただきます。 ワークシートの数ではなくて、一つのシート(sheet1)がプリントアウトしたときに何ページ分有るのか、そのページ数を取得したいのです。

関連するQ&A

  • VBAでページ番号、ページ最終行を取得する方法

    エクセルにデータを表示させて印刷するときに、 一続きのデータがページをまたいでしまうのですが、 またいだ時にページの一番はじめに、データの項目を表示させたいと思っています。 PrintTitleRowsを使用しようと思いましたが、 データの項目→データ、データの項目→データというようにエクセルシートに表示されているため、もし、丁度ページが変わったときにうまくデータの項目が次のページの1列目にくるとデータの項目がダブってしまい、使用することができません。 他の方法を考えてみたのですが、その方法では現在のページ番号を取得する方法か現在のページの最終行(データが最終行に入力されていない場合も含む)を取得する方法を知らなくては実現することができません。 いろいろ調べたのですが、見つからず、このような方法がないのかもしれません。 うまく状況が説明できずすみません。 もしご存知の方がお見えになりましたら教えてください。 また、何か他によい方法をご存知の方がお見えになりましたら教えてください。

  • エクセルVBAでメモ帳制御はできますか?

    WIN98SEでエクセル2000を使用しています。 VBAで下記のことは可能でしょうか? 1.エクセルで作成したデータ(文字列のみ)をメモ帳(Notepad)に貼り付けたい。 2.データを貼り付けた後のメモ帳を、名前を付けて保存したい。 Shellを使ってメモ帳を起動するまでは出来たのですが、Copyしたデータを貼り付けることが出来ずに困っています。 どういった方法が有るのか教えていただけないでしょうか?宜しくお願いします。

  • エクセルの最終ページだけを自動印刷

    エクセルの最終ページだけを自動印刷するには、どうしたらいいのでしょうか?マクロVBAを使い、エクセルシートが、何ページにわたって印刷されるのか判定し、その最終ページだけを印刷したいのです。 目的は、エクセルの表の最終行に新しいレコードを追加して行ってるのですが。手作業ですといちいちプレビューして何ページにまたがってるか確認して、そのページ番号を指定せねばなりません。その最終ページだけ印刷したいことがよくあるので、マクロで自動化したいのです。

  • Excel Vba でデータの範囲を知るには?

    Excelを使用していますが、マクロ(VBA)で、シートのデータの範囲を知るにはどうすればよいのでしょうか。  印刷プレビューを行うと、自動的にページ数が求めらていますが、これは、シートのデータの範囲(列及び行の最大値)を判別しているからできるのだと思います。  これを、VBAで行、及び列のMAX値を取得したいのですが、そのメソッド(プロパティ)を知りたいのです。  どなたかご教授ください。

  • excelでのVBAの組み方について???

    EXCELでVBAを使ってシートを作成しようと考えています。ワークシートを大量に増やす方法と、別のシートを作成し、互いにリンクをかける方法では、どちらが、使用上、また、データ量的によろしいのでしょうか。ちなみに、一つのファイルに大量のシートで組み込んだ場合、データ量が大量になるかと思いますが、ファイルを開く時など、時間的にどうなのかなと思いまして・・・。教えてください。

  • EXCEL 外部データの取り込みからのページ取得(VBA)

    OS:WIN XP EXCEL2000使用 EXCELから簡易データ取得を行いたいとおもっています。 マクロ化しVBAをいじって複数のページデータを取得したいと考えています。 取得したいページのURLが ​http://hogehoge.com/0000XXX.html​ XXX部分が数字で001~100まで可変すると想定。 001~100までのデザインは同じ。 1~100までをそれぞれSHEET1~SHEET100までに貼り付けたいとおもっています。 その際に邪魔なA列と1~5行目を削除とする場合 どのような記述に変更すればよいのでしょうか。 ページの取得までは出来るのですが VBAがあまりよくわからないので質問させていただきました。 宜しくお願い致します。 下記001.htmlだけを取得したものになります。 With ActiveSheet.QueryTables.Add(Connection:="URL;​http://hogehoge.com/0000001.html",​ _ Destination:=Range("A1")) .Name = "ExternalData_1" ~800文字に収まらないため中略~ .WebDisableDateRecognition = False .Refresh BackgroundQuery:=False End With Columns("A:A").Select Selection.Delete Shift:=xlToLeft Rows("1:5").Select Selection.Delete Shift:=xlUp Range("A1").Select End Sub

  • エクセルVBAで困ってます。

    エクセルVBAで困っています。 データ入力済みのシートが2つあります。 シート名を「Sheet1」「Sheet2」とします。 「Sheet1」のA列のデータが「Sheet2」のA列のデータと一致した時に それぞれのシートのセル番地を取得したいのですが出来ません。 教えて下さい。 データの並び順は「Sheet1」と「Sheet2」で異なります。

  • エクセルVBAで最終行取得ができない

    エクセルVBAでたとえばC列にどこまでデータが入力されているかを調べるとき、通常は r = Cells(Rows.Count, "C").End(xlUp).Row などでできます。 しかし添付画像のような入力フォームが出来上がっており、かつC列に最初から何らか(画像では〒マーク)の入力がされているので、そこに回答者が途中まで入力された場合、これでは最終行は取得できません。 逆に上からEnd(xlDown)でやろうとしても、途中に空白セルがあってお手上げです。 余分な〒マークを元データから削除してしまいたいのですがそれでは入力されているところのマークまで消えてしまいます。 このようなファイルが何百もあり、それを1枚のシートにまとめようとしているのですが、この最終行取得でつまずいてしまいました。 どのような方法があるでしょうか? 画像はエクセル2013ですが、実際にマクロを動かすのは2010です。

  • エクセルVBAでセル選択

    エクセル2000でリストを作成し、VBAで編集しようとしています。 A列に入力されているコードの先頭に「’」をつけて文字列とするための関数をB2のセルからA列のデータが入力されている最後のセルの隣までコピーしたいと思っています。 A列の最終セルを取得するVBAは分かったのですが、その値をB列の選択範囲として使用する方法がわかりません。 エクセルVBAは全くの初心者です。 どなたか教えてください!

  • EXCEL VBA 保護したシートを読込みしたい

    お世話になります。 EXCEL VBAで「データ」というシートあります。ここの100件ほどのデータが入っており、もう1つの「集計」というシートにフォームを作成してそのフォームからVBAを使って集計するのですが、この「データ」シートはユーザーにいじられたくないので保護もしくは非表示にしたいと思っています。 しかし「データ」シートを保護してしまうとVBAで「データ」シート読み込む際にエラーになってしまいます。 何かよい方法はありますでしょうか? 環境 WindowsXP SP3 Excel2003

専門家に質問してみよう