- ベストアンサー
エクセルVBA/StatusBarの表示文字列の取得方法
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 自分で文字列をセットしたり、セットした文字列を持ってくるのは出来ますが、残念ながら質問のメッセージは取得できません。 で、色々あるとは思いますが、一案。。 ------------------------------------------- Sub Test() Dim AllSu As Long Dim PicupSu As Long With ActiveSheet.AutoFilter.Range AllSu = .Rows.Count - 1 With .SpecialCells(xlCellTypeVisible) PicupSu = .Count / .Columns.Count - 1 End With End With MsgBox AllSu & " レコード中 " & PicupSu & " 件見ーっけ!" End Sub ----------------------------------------------- 以上です。
その他の回答 (2)
- takibo
- ベストアンサー率57% (116/200)
質問文からは「何をした時に表示を取得」したいのかがわからないので推測で簡単な例を。 【例】Excel2000にて確認 ある表(Sheet1のA1:G100)でオートフィルタを設定し、フィルタを実行したタイミングでメッセージボックスにより結果を表示 ≪表の条件≫ (1) 1行目=項目行、2行目~データ(全データ件数:99件) (2) A列は空白なし([No.] など) (3) セル[H1]に =SUBTOTAL(3,A2:A100) と入力 Sheet1のシートタブを右クリック → [コードの表示(V)] で表示された画面に下記のコードを貼り付け Private Sub Worksheet_Calculate() 範囲 = Application.WorksheetFunction.CountA(Range("A2:A65536")) 結果 = Application.WorksheetFunction.Subtotal(3, Range("A2:A65536")) If 範囲 <> 結果 Then MsgBox 範囲 & "レコード中 " & 結果 & "個が見つかりました " End If End Sub CountA(Range("A2:A65536"))・・・A列2行目以降の空白でないセルの個数=全データ件数としています。 空白なしの列を設けることで表の範囲が変わっても自動的に全件数を取得できるようになっています。 そのため条件(1)・(2)のようにデータは2行目以降、A列は空白なしにしています。 セル[H1]のSUBTOAL関数で抽出結果の件数が取得できます。 関数については参考URLをご覧になってください。 このマクロはシート内で計算が実行されたときに作動します。(オートフィルタを実行するとシート内は再計算されます) もともと表内に計算式があれば問題ありませんが、わかりやすいように条件(3)でSUBTOTAL関数を設定しています。
お礼
こちらもすばらしい代替方法をありがとうございました。 勉強になりました。
- mshr1962
- ベストアンサー率39% (7418/18948)
EXCELのバージョンが2002/2003なら =ROWS(列の範囲)&"レコード中"&SUBTOTAL(103,列の範囲)&"個が見つかりました。" ※抽出に使った列の範囲のオートフィルタの条件が空白の場合は集計できません。
お礼
残念ながらエクセル2000ですのでSUBTOTAL(103,列の範囲)がエラーになります。 VBAで取得したいのです。
関連するQ&A
- EXCELのオートフィルターで抽出されたレコード件数をVBAで参照する方法は?
EXCELのオートフィルターで抽出されたデータの件数が、左下のステータスバーに表示されますが、その抽出件数をVBAで取得する方法を教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセルのオートフィルターで個数を表示するには?
エクセルのオートフィルターを使って指定条件のデータを表示させます。 その時に,画面左下(ステータスバーかな?)に「○○レコード中○○個が見つかりました」と表示されます。 この表示が使用するパソコンによっては,表示される場合と,表示されない場合があります。 おそらく,そのパソコンのエクセルの何かの設定の有無が関係すると思いますが,分かりません。 どうもエクセルのバージョンの新旧とは関係ないようですが。 どうすれば,この表示が出てくるのでしょうか。
- ベストアンサー
- オフィス系ソフト
- Excelオートフィルタ使用時のステータスバー表示について
オートフィルタで何かを選んでデータを抽出すると、 △個のレコード中○個が見つかりました。と表示されるときと表示されないときがあるのですが何か設定なのでしょうか? ご存知の方教えてください。
- ベストアンサー
- オフィス系ソフト
- EXCELのオートフィルターにて、何を選択したかを取得したい
EXCELのオートフィルターにて、何を選択したかを取得したい 例えば、ユーザーがオートフィルターにて、店番=1を選択した場合に、 コメントとして「店番=1」と表示したいのです。 どのようにしたら、VBAから取得できるのでしょうか? ヒントをお願いします
- ベストアンサー
- その他MS Office製品
- エクセルで、オートフィルタ実行後のステータスバーにデータ個数表示がされなくなった
エクセル2003を使用しています。 オートフィルタ機能を使って、データを抽出した後に、ステータスバーに「○レコード中○個が見つかりました」という表示が今まで出ていたのに「急に?」出なくなり、ただ単に「フィルタモード」と表示されるだけです。 シートに数式がたくさんあって、重たい再計算が走ると起きる現象で、ツールメニューのオプションの再計算を手動にしてから絞り込むと、解決できることまではわかりました。 今まで、このような現象はなく、現象「発生前」「発生後」で、重たい再計算が必要になるような入力をした覚えもありません。せいぜい、個人レベルのデータベースであり、250程度のレコードです。複雑な関数も使用していません。 このような現象は、そのときどきによって起こり得て、また、なくなることもある、という「気まま」な現象なのでしょうか? オートフィルタ実行時に、そのたびに再計算機能を外すのはやや面倒なので、できれば現象回避策があるといいのですが。
- ベストアンサー
- オフィス系ソフト
- エクセルのオートフィルタについて
エクセルでオートフィルタを使用した場合、 ステータスバー左下に「○○ レコード中 ○個が見つかりました。」と 表示されるファイルと、「フィルタ モード」 と表示されるファイルがある事が分かりました。 この二つのファイルの違いは特に無いと思っていますが、 何が原因でこのような現象が発生するのでしょうか? なにか対策をすれば後者のファイルも、 前者のように表示させる事が可能なのでしょうか? ご教授をお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAでセルが現在表示されているのか非表示かの情報を取得する
自己流VBA使用初心者です。 エクセルのオートシェイプでリストを絞って表示してある時、VBAで、あるセルが現在表示されているのか非表示なのかの情報を取得する構文はありますでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセル オートフィルタで摘出したデータだけをカウントしたい vba
エクセルでオートフィルタして摘出したデータをカウントしたいのですその結果をVBAのメッセージボックスで表示させてたいです。 オートフィルタについては、シート上で自ら条件を出しますので、ただカウントだけしたいです。 カウントさせるセルはA列の10番から110番です。 データは数値です お忙しいところどなたかご教授ください
- 締切済み
- オフィス系ソフト
- Excel97でオートフィルタをかけた際の画面表示について
今OSが98でExcelは97を使用しています。 オートフィルタをかけると、ステータスバーに*レコード中*件見つかりましたと表示されるときとされないときがあります。 同じマシンでブックによってかわります。ちなみに新しいブックで過去のAという ブックのデータをコピーすると表示できます。 しかし、いつも同じブックで表示できません。またそのブックを開いた後 一旦閉じても他のブックを開いてもその表示がでないときもあります。 これは作った状態によるのでしょうか? どなたかご存知でしたら教えてください。よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- excel VBAでステータスバーに...
excelのVBAでの話です。 ステータスバーにProgressBarを表示させて計算の進行状況を表示させたいのですが、 ステータスバーに文字を表示させることしかできません。 どうしてもシート上にProgressBarコントロールを配置せずに ステータスバーに表示させたいのです。 どのようにしたらいいのでしょうか?
- 締切済み
- Visual Basic
お礼
ありがとうございます。 Application.Statusbar="AAAAA"で表示できるのですから、逆に引っ張ってくることも出来るんじゃないかと思ったのですが、そうはいかないんです。 で、代わりの案をありがとうございます。 完璧に取得できました。さすがtaocatさんですねえ!