No.1ベストアンサー
- 回答日時:
1、テキストボックス編。
テキストボックスのテキストに四角(黒ベタ)を予めセット。
Private Sub CommandButton1_Click()
Dim I As Integer
Dim L As Integer
Dim T As String
T = Me.TextBox1.Text
L = Len(T)
Me.TextBox1.Visible = True
For I = 1 To L
Me.TextBox1.Text = Left(T, I)
Pause 1
DoEvents
Next I
Me.TextBox1.Visible = False
End Sub
これで、1秒毎に、四角が1個増えていきます。
見ようでは、プログレスバーです。
2、プログレスバー編。
プログレスバーそのものを配置。
プログレスバーは、[コントロールの選択]をクリックして行います。
Private Sub CommandButton2_Click()
Dim I As Integer
Me.ProgressBar.Max = 20
Me.ProgressBar.Left = 200
Me.ProgressBar.Top = 200
Me.ProgressBar.Visible = True
For I = 1 To 20
Me.ProgressBar.Value = I
Pause 1
DoEvents
Next I
Me.ProgressBar.Visible = False
End Sub
これでも、1秒毎に、バーが伸びていきます。
上記のコードをテストするには、下記のPause関数を標準モジュールに登録する必要があります。
Public Sub Pause(ByVal PauseTime As Single)
Dim Finish As Single
Finish = Timer + PauseTime
Do
DoEvents
Loop Until Timer > Finish
End Sub
有難うございます。
プログレスバーそのものを配置。
プログレスバーは、[コントロールの選択]をクリックして行います。
ってなんですか?
何も分からず済みません。教えてください。
No.8
- 回答日時:
質問者さまへ …とわざわざ書くのもヘンですが。
「エクセルVBA実行時に進捗バーを表示する方法」の一つとして、
●#1さんの、「プログレスバー編」があります。
しかし、ライセンスの観点から、
「使えるけど、使って良いかどうか、あるいは使い方」に関しては議論が存在するようです。
その他の方法として、
●#1さんの、「テキストボックス編」
●#2さんの、「VBA ではラベルコントロールを使って表現するか、ステータスバーなどで簡易的に表現する」
●#6さんの、「簡単にラベルを文字の「■」などを入れる手法」
があるということのようです。
議論の是非について私はコメントする立場にありませんが、
少なくとも質問者さんのご質問やお礼自体に関して問題があったわけではありませんからご心配なく。
※コレは「まとめ回答」というやつなので、間違えてもポイントつけてはいけません。
No.7
- 回答日時:
こんにちは。
ちょっと情報が不足していたようです。ご心配かけて、すみませんです。
>元の記事・・・・私が何かしましたか?心配です。
そんなことはありませんです。以下に、そのサイトの著者が、
http://www.h3.dion.ne.jp/~sakatsu/ProgressBarTop …
》※ Office のインストール又はSPアップデートにより、プログレスバーコントロールが入っている mscomctl.ocx ファイルが正規にインストールされる事が判りました(2006/7/27)。
とあります。そのいきさつを、他の掲示板で読んだのですが、それについて、詳しく語る必要はないと思い、割愛しました。
Excel2000のSPのいくつからか、インストールされるということになると、すくなくとも、Visual Basic(開発言語)を持っている人しか出来ない話ではないわけですね。かつては、私の記憶でも、そうだったのですが、以前からOffice VBAをされている方は、標準的に、MS-Office にはないという認識にあったように思います。
しかし、だいたいは、Office VBAを以前からされてきた方は、VB5/6のランタイムを入れてしまっているので、Office SPアップデートで入るということは、知らないような気がします。私自身、知りませんでした。
ある意味で、「ProgressBar Control」というのは、VBには、それは標準的にありましたが、VBAでは、仮に、それ向きに開発しても、個人的に使うだけの存在だと思いました。なかなか、VBAでは、VBランタイムを入れてくださいともいえませんしね。
だからこそ、このスレッドの最初に書いたサイトの著者(角田氏?)や、『かんたんプログラミング』(技術評論社)の大村あつしさんも、それに代わる代用法を編み出したのだと思います。(あくまでも、私の想像です。)
私の書いた
「現在のMS-Office 自体に標準的に備わっているとしたら、配布自体は関係なくなりますね。」
配布することがいけないといっても、それ自体を取りざたする必要がないのではないかなって思いました。お互いが持っているとしたら、それは、再配布することへの必要性はなくなります。私の書いたのは、そういう意味だったのですが、もちろん、その部分だけの文章を取れば、ライセンスフリーとも取られかねません。しかし、再配布権自体は認められてないと書いていますから、そこだけを捕らえて違った解釈する方はいないと信じます。
私としては、Excel上では、他のコントロールと同じように、個人としては自由に使ってかまわないよって書いたつもりなのですが、それ以外の、そのOCX などの再配布の問題は、この質問とは、また違ったステージの問題だと思いますが、ご質問者さんは気にする必要はないと思います。いろいろ試してみるのが良いかと思います。
No.6
- 回答日時:
こんにちは。
ProgressBar Control って、
今は、標準で、Office についているように思えますね。
Office2000 SP3以降?
http://support.microsoft.com/kb/325671/ja
Office XP Service Pack 2 (SP2) の概要
MSCOMCTL.OCX は、コモンコントロールの名前は出てきますね。
VB6 ランタイム再配布バージョンでも、入っていますね。
私のところでは、ProgressBar は出せますが、こちらの環境では良く分かりません。私は、VB6は、もう入れていないだけで、あれこれ入っていますので、確信が持てません。
Developer バージョンでなければ、再頒布権はないので、ProgressBar のデザインを備えた形では配布することは出来ないという話だと思いますが、現在のMS-Office 自体に標準的に備わっているとしたら、配布自体は関係なくなりますね。もちろん、個人でお使いになる分には、まったく問題はない話ですが。
ありがとうございます。
私にはまだ、この手のVBAはむりです。分かりません。
勉強しなおします。また、何か問題でもありましたか?
元の記事・・・・私が何かしましたか?心配です。
No.4
- 回答日時:
Private Sub CommandButton1_Click()
Dim I As Integer
Dim L As Integer
Dim N As String
L = Me.Label1.Width
N = Me.Label1.Width \ 10
Me.Label1.Width = 0
Me.TextBox1.Visible = True
Me.Label1.Visible = True
For I = 1 To 10
Me.Label1.Width = N * I
Pause 1
DoEvents
Next I
Me.Label1.Visible = False
Me.TextBox1.Visible = False
End Sub
一応、これで1秒間隔で進行ゲージが伸びていきます。
No.3
- 回答日時:
断っておきますが、エクセルは一度も操作したことのない門外漢です。
ですから、あくまでも、VBAの一般論で回答しています。
エクセル固有の実現方法があれば、的を外しています。
さて、プログレスバーの配置手順ですが、
1、メニュー-表示(V)-ツールバー(T)-コントロールツールボックスにレ点。
2、最下位のアイコンをポイントすると、[コントロールの選択]という説明文。
3、[コントロールの選択]をクリックすると、選択画面が表示されます。
4、Microsoft ProgressBar Control version 6.0 があればクリック。
これで、画面に配置できます。
なお、一番上に[デザインモードの開始・終了]ボタンがあります。
ところで、Microsoft ProgressBar Control の有無は環境によるかも知れません。
仮に無い場合は、テキストボックスを使われたらいいです。
なーに、ラベルコントロールを背景色付きでテキストボックスの上に配置すればプログレスバーが出来上がります。
No.2
- 回答日時:
> プログレスバーは、[コントロールの選択]をクリックして行います。
これは 製品版 VB(VBA とは別物)などに付属する OCX コントロール
のことですね。VB がインストールされていない環境で OCX をデザイン
使用すると、ライセンス違反になりますのでご注意を。
# VB 未インストール環境では OCX のプログレスバーを使用しては
# いけません.....ということです。
VBA ではラベルコントロールを使って表現するか、ステータスバー
などで簡易的に表現するのが良く知られた方法です。
参考URL:
http://www.h3.dion.ne.jp/~sakatsu/ProgressBarTop …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) エクセルのセル値に対応してマクロを実行する方法を教えてください セルA1が「1」の時にマクロ名「マク 2 2022/06/19 18:45
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- その他(教育・科学・学問) 進捗率の計算方法を教えてください。 90日の売上目標500万 20日経過時点で100万。 予定の進捗 1 2022/08/22 12:10
- Excel(エクセル) エクセルでのVBA 2 2022/08/03 06:48
- Excel(エクセル) エクセルにサムネイル画像組み込み 2 2022/09/02 17:13
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Visual Basic(VBA) 起動中のアプリ、ソフトの取得 3 2022/12/28 11:13
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
「平成」を感じるもの
「昭和レトロ」に続いて「平成レトロ」なる言葉が流行しています。 皆さんはどのようなモノ・コトに「平成」を感じますか?
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
ProgressBarを用いる場合、全体の処理数の求め方(Do Loop文に関して)。
Visual Basic(VBA)
-
vba 進捗状況
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
OCXって何ですか?
-
NumericUpDownコントロールに数...
-
ユーザーフォームで動的(Me.Con...
-
excelのリストボックスで選択し...
-
アクセス特有の書き方?
-
VBAのカレンダーコントロールに...
-
vb.netで画面のコントロールId...
-
ACCESS2010のVBAでフォーム内ク...
-
間違えて配置してしまったコン...
-
C# 子のコントロールからイベン...
-
なかなか、Zオーダーが理解で...
-
Groupboxの配下のコントロール...
-
ExcelVBAでListViewが使用できない
-
VB6.0で データベースの値をコ...
-
chr関数の呼び出しで「プロ...
-
トグルボタン一部を一度にON OF...
-
VBAのエラーについて、”実行時...
-
With~EndWithの省略部分と引数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
ExcelVBAでListViewが使用できない
-
エクセルVBAでオプションボタン...
-
vb.netで画面のコントロールId...
-
C#で角が丸いテキストボックス
-
VBA ユーザーフォームの Keypre...
-
ユーザーフォームで動的(Me.Con...
-
フォーム上の現在アクティブな...
-
Excel VBA で Richtextboxを使...
-
ACCESS2010のVBAでフォーム内ク...
-
Groupboxの配下のコントロール...
-
コントロールを移動できない
-
コンボボックスの文字によるif...
-
(VBA)スピンボタンの大量...
-
Labelコントロールの(左右)余...
-
イメージコントロールに 読み込...
-
間違えて配置してしまったコン...
-
OCXって何ですか?
-
アクセス特有の書き方?
おすすめ情報