- ベストアンサー
エクセルのマクロ・・・。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
マクロの効果的な用途例 1. 反復される処理の自動化(省力化) 例えば、セルの値によって色を区別しセル背景色を設定しなければならない場合、数万行もデータがあったら手動では大変ですね。マクロ(VBA)を組むことで、このような繰り返し作業を自動化できます。 2. EXCELの機能拡張 例えば、ある色のセルの値のみ集計したい場合、通常ですと、手動で集計セルを拾っていかねばなりません。繰り返しになりますが、データが大量にあった場合、手動では限界がありますね。このような場合、VBAでユーザー定義関数を作成してしまえば、簡単に求められます。つまり関数の例で説明しましたが、EXCELの標準では無い機能=ほしい機能をVBAで作成し、追加できるということです。 3. 操作の固定化 単票型のユーザーフォームを作成して入力を固定するとか、ワークシートプロシージャーでセルの入力範囲を制限するなど、ユーザーの操作を固定化することがVBAでは可能です。これにより、データ入力の手間を省力化できるばかりか、一方では誤った操作を制限することもできます。 EXCELはVBAを使ってこそ最大の持ち味を発揮しますので、是非チャレンジなさって下さい。では。
その他の回答 (2)
- osamuy
- ベストアンサー率42% (1231/2878)
人手を要するが定型可能な作業を、自動化によって省力化するために使う ――ってところでは。 苦労してマクロを組んでも、自分が楽できればOKみいたな。 他の人が使えるマクロであれば、もっと喜ばれますし。 # 事務処理機としてのコンピュータの意義そのままですね。
- 7874419
- ベストアンサー率12% (18/139)
マクロの自動記録機能で作ったものでは 出来る事に限界があります マクロとはVBAプログラミングの自動作成機能の事でありVBAとして覚えていかないと発展していかないでしょう VBAを取り込む事によりデータの抽出だけでなく いろんなことが出来ます 印刷の制御、外部アプリの 起動、連携、 セキュリティーをかけるetc・・・ VBAでワタシも業務用のソフトを開発しています 見た目はこれがエクセル? って思うような 操作インターフェイスになっています そういうことも出来るのです
関連するQ&A
- エクセルマクロでこれを簡単に出来ますか?
部材関係の仕事に携わっている者ですが、日々変る納品リストの整理が長引き、もっと簡単にしたいと思いますが、次のことをエクセルマクロで瞬時にできるのでしょうか?私はエクセル初心者な者で詳しいことが分かりません。 1.エクセルワークシートが15部の構成のブック 2.その内、自分が必要とするのが5部のシート 3.その各シートには2005.6.○○と日付が付与され ている 4.その5部のワークシートに記載されている部材うち、自分に関係する物だけをフィルタオプションを使って抽出、抜き出している。 5.フィルタオプションの抽出条件は別ファイルを開き、コピー、貼付けして検索している。 6.各シート検索後、抽出データーを1枚のシートにまとめるために統合機能を使い、1つのリストにしている。 7.日付により、項目が増減、変動するので多くなると1ページに印刷すると、文字が小さくなるので、目一杯縦横の余白を最小にして印刷している。 以上のような流れなのですが、元になるワークシートのシート名に日付が付与されているせいか、マクロを記録してもエラーが出ます。やはり単純なマクロの記録では1~7の操作実行は無理なのでしょうか? 手順はいつもと同じなのですが、シート日付名をそのまま記録してしまうからでしょうか? 現状1~5までの操作を各シート毎に繰り返しているので非常に時間が係ります。VBAじゃないと無理なのでしょうか?個人用マクロに保存しています。アドバイスお願いします。
- 締切済み
- オフィス系ソフト
- エクセル2000マクロ操作
Q列 終了時間 2001/11/25 3:00 2001/12/26 11:30 2002/1/24 11:30 2002/2/24 11:30 データベースの中から条件抽出をしたい。 条件は 2001 12/26 8:00以上で 2002 1/26 7:59以下を抽出したい。 今現在は、フィルタのオプション抽出でマクロ記録でやっているのですが。 西暦は条件に入れてなくて日付時間でやっていますので、来年の西暦が来たときに 2001 12/26 8:00以上の抽出ができません。抽出条件のいい方法があったら教えてください。 マクロ操作で出来たらお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel フィルタオプションをマクロに記録する
いつもお世話になっています。 タイトルどおりなのですが、フィルタオプションをマクロの自動記録で記録し 実行したいと思います。 ただ、条件を入力する行が1行だと問題ないのですが、2行になった場合、 2行とも何らかの条件が入っていないと抽出をしてくれません。 そもそも、そういう仕様なのでしょうか。 解決方法がありましたら教えてください。 よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- エクセルのマクロのことです。
いつも、お世話になっております。 エクセルでシート1にデータがあります。 シート2のA1に入力した文字を含む行をオートフィルタで抽出する。 これをマクロを使ってできるでしょうか? 宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロ記録について
エクセル2007でマクロ1の記録を行い「更新」ボタンにマクロ1を設定しています。Sheet1からSheet12迄の入力データを「更新」ボタンクリックで 削除するように記録しています。 Sheet1からSheet12をシート保護した場合マクロ1は実行エラーになり 各シートを保護解除すると正常に実行します。 Sheetがまたがるマクロの記録はシート保護をするとだめなのでしょうか? 各Sheet共入力セル以外をロックしたい為、シート保護をかけようと思います。
- ベストアンサー
- その他([技術者向] コンピューター)
- エクセルのVBAマクロについて
エクセルのVBAマクロについて、添付のような物を考えているのですが、宜しくお願いします。 B3~E15に関数を入れて、TRUE となったデーターを表示 させるまでは出来たのですが、このデーターをF~I列へ上から順に (空白行は詰めて)順次記録して行きたいのです。 B3~E15に表示させるデーターは、別シートから抽出し、 切り替えますので、結果を表示させたら、ボタンを押して記録し、 再度別データーを入れたらその下に記録して行くような仕組み を考えております。 宜しくお願いします。
- ベストアンサー
- 会計ソフト
- Excel2003でシート保護(オートフィルタ使用にはチェック)するとマクロのオートフィルタでエラーになる
QNo.3901563で回答いただき、Excelの試用で保護後のオートフィルタは使えないのはわかりました。 そこで予めオートフィルタを設定し、シートに保護をかけました。 Excelの画面上ではオートフィルタは使用できます。 マクロよりオートフィルタの抽出条件を変更するコマンドを実行すると「保護されたシートに対して、このコマンドは実行できません」と表示されます。コマンドは新しいマクロの記録で操作を記録したものです。記録したときは特にエラーはでませんでした。 Selection.AutoFilter Field:=2, Criteria1:="AAA" マクロのコマンドでは保護のかかったシートのオートフィルタの抽出条件を変更することは出来ないのでしょうか。 マクロの前後にシート保護を解除するコマンドを入れようかとも思ったのですが、保護にパスワードがかかっており、本末転倒となるもので。
- ベストアンサー
- オフィス系ソフト
- Accessマクロの抽出でどうしたらいいでしょうか?
図のようにフォームには商品テーブルのフィールドを配置しています。 上のテキストボックスには、[商品グループ]の値と等しいレコードを抽出するよう入力します。 [抽出]ボタン:フィルタを実行 [解除]ボタン:フィルタを解除して、すべてのレコードを表示 それぞれクリック時のイベントに割り当てたマクロは以下です。 《マクロ名》《アクション/引数》 《値》 抽出 フィルタの実行 Where条件式 [商品グループ]=[Forms]![抽出]![txtキー] 解除 全レコードの表示 値の代入 アイテム [txtキー] 式 NULL このようにしましたが、フィルタはフォームの起動時初回は出来ますが、[解除]ボタンを押して[抽出]ボタンを押すと再度の抽出はできません。 初回の1回だけは抽出できるんですけど・・・続けて抽出できるようにするにはどうしたらいいでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルで閉じるときのマクロ
あるエクセルファイルがあり、 その一枚のシートにはオートフィルタ (A~Z列まで)を使用しています。 【質問1】 ファイルを保存して閉じる際、 オートフィルタで抽出したものを 「すべて」に戻す、 つまりなにも抽出されていない(=左端の行番号が黒字) に戻すマクロはどこにどのように書けばよいでしょうか? オートフィルタを戻すマクロは、 'オートフィルタのあるシートを選択 Sheets("買取リスト").Select 'T列のオートフィルタを「すべて」にする Selection.AutoFilter Field:=22 というところまでは理解できました。 【質問2】 上記のマクロを Sheets("顧客リスト") から、Sheets("商品リスト")へ移動した際、 ボタン等を使用せずに、 (ただ、下のタブをクリックするだけで) 実行させることは可能でしょうか? 可能であれば、どこにどのように記述すれば よいでしょうか?? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト