スポンサーサイト

上記の広告は90日以上記事の更新がないブログに表示されます。新しい記事を書くことで、こちらの広告が消せます。

  

Posted by チェスト at

2010年01月30日

エクセルマクロのシートモジュールと標準モジュール

エクセルのファイルに登録されているマクロを表示させる時には大きく分けて二つ開き方があります。
一つ目はシートモジュールから開かれる方法で、ファイルの各シート名のところで右クリック→「コードの表示」を選択して開かれるもので選択したワークシートのイベントまたはシートに貼り付けたコントロールのイベントプロシージャが表記されているところです。例えばシートをアクティブにしたり、セルを変更したりというイベント時のプロシージャとかの時などです。利点と言うと、既にワークシートが特定されているのでマクロを表記する時にどこのワークシートという指定をわざわざしなくてもきちんと認識されている事です。
  続きを読む


Posted by web at 23:34Comments(0)エクセルマクロ

2010年01月22日

エクセルマクロの削除の仕方

エクセルでマクロを使用していて(自分で作成したのでも、自動記録をしたものでもいいのですが)作りすぎてよく分からなくなってしまってはいませんか?
溢れかえったマクロを整理していくのもよりよいエクセルのマクロを使いこなす上で大切な事だと思います。

削除をするのに例えば「ツール」→「マクロ」→「マクロ」を選択したときに表示されるウィンドウ上で、必要が無いマクロを選んで「削除」ボタンを押した場合に「表示されていないブックのマクロは編集できません。[ウィンドウ再表示]コマンドを選択して、ウィンドウを表示してください。」というようなメッセージが表示されて削除できなかったりして一筋縄では行かないなんて思ってはいないでしょうか?
  続きを読む


Posted by web at 19:05Comments(0)エクセルマクロ

2010年01月16日

エクセルマクロで計算してみよう

箱の重さの計算結果をエクセル上に表示させるマクロを作成したいのですが、イメージ的には材料を数種類オプションボタンにて画面上で選択をさせて重さを計算させて表示させるということです。
材料の単位あたりの重さはエクセルの別の表に入力してあります。
重さは、高さ×幅×奥行きで計算させる予定です。

こういう計算式って簡単にエクセルのマクロで作成できるものなのでしょうか?
単純にエクセルの表にして計算結果を出そうとすると、材料全ての重さが表示されてしまうし余計なものが表示されてしまって、表示結果を見ている方としては分からなくなるんじゃないかと思っています。

このような事象を回避するためにはどのようなマクロを組んだらよいのでしょうか?

というような問題があるとします。この問題を解決するためにマクロを以下のように作成してみました。
材料は数種類ということでしたが、ここでは3つ選択できるようにしてみました。
  続きを読む


Posted by web at 15:13Comments(0)マクロを活用

2009年11月12日

エクセルで印をつけるマクロ作成

エクセルのマクロを使ってある条件の時に「印」を設定してみましょう。

例題)エクセルシート上に「男」「女」「夫」「妻」など数箇所に選択欄があってそれぞれのいずれかに「○」を設定してください。

という例題があります。マクロじゃなくオートシェイプで「○」をつけていくと言う方法もあるのですが、件数が多いとその分時間も掛かってしまって面倒ですよね。間違うかもしれないし・・・

そこで、マクロを使って作成してみたいと思います。

以下のようなマクロをVBE上にコーディングしてみてください。
VBEの開き方は、「ALT」+「F11」で開きます。

Sub sirusi()
Dim a As Range
 If TypeName(Selection) = "Range" Then
  Set a = Selection
  ActiveSheet.Shapes.AddShape(msoShapeOval, a.Left, _
      a.Top, a.Width, a.Height).Select
  Selection.ShapeRange.Fill.Visible = msoFalse
  a.Select
 End If
End Sub

以上です。これをVBE上に表記し、画面を閉じてください。

次に実行してみましょう。
ATL+F8でマクロ一覧を開き、sirusiを選択します。この状態で「オプションボタン」などを選択し、ショートカットに任意の文字を入れておきます。ここでは「Y」あたりにしておきます。

エクセル上で適当にセルを選択してCtrl+Yを押下してみてください。そのセルに「○」が表示されるようになっているのを確認してください。
  


Posted by web at 18:35Comments(0)マクロのお勉強

2009年11月07日

エクセル初心者のマクロ

エクセルのマクロをVBを覚え始めている方にとっては、すぐ色々な問題に行き当たってしまいがちですよね。

例えばですが、あるセルの内容が「A」なら「マクロA」を実行し、「B」なら「マクロB」を実行するという、セルの内容によって実行させるマクロを選択するという条件分岐を付けたい場合ですが、こういうのを初心者の方がやろうと思うと結構大変な作業になるんじゃないかと思います。

セルの内容を条件にして別のマクロを実行させるというのは結構難しいので、セルの値を条件にして処理を分けるというマクロを記述してみます。

具体的にマクロを記述してみると
Sub test()
 If Range("A1").Value=A Then
  ☆セルA1の値が「A」の時の処理☆
 Else
  If Range("A1").Value=B Then
   ☆セルA1の値がBの時の処理☆
  Else
   ☆上記のどちらでもない時の処理~☆
  End If
 End If
End Sub

というように記述してみてはいかがでしょうか?
「A」の場合の処理と、「B」の場合の処理をそれぞれ記述し、最後に「A」「B」以外の文字が入ってきたときの場合の処理も記述していた方が、色々なバージョンに対応できると思うのでいいかと思います。

まぁここまでやる前にとりあえずはメッセージを表示させて見るなど簡単な処理からはじめてみるのもいいと思います。頑張ってエクセルマクロを使いこなして、色々な処理が出来るようになるように頑張ってくださいね。
  


Posted by web at 21:27Comments(0)エクセルマクロ

2009年11月02日

削除したエクセルマクロが表示される場合

エクセルにあるマクロを、「新しいマクロの記録」で作業を行った後、マクロを削除しました。ですが、次にファイルを開いたときに「開こうとしたファイルにはマクロが設定されています」というメッセージが表示されてしまいます。
マクロを削除したはずなのにおかしい話ですよね。

これを表示させないためには、以下のようにしてみてください。

1.ファイルを開きます。
2.「ツール」→「マクロ」→「Visual Basic Editor」と選択し、VBAエディタを開きます。(このとき、「ALT」+「F11」でも同様にVBAエディターが開きます。
3.ここで画面左側にある「標準モジュール」をクリックします。そうするとマクロ名「Modulu1」が表示されます。この標準モジュールがマクロの本体ですので、これを削除しないと最初に表示されるメッセージのダイアログは消せないと思います。
4.マクロ名を右クリックし、「Module1の解放」を実行します。
 標準モジュールの左側に「+」というのがあるので、それをクリックする事で表運モジュールが展開されますので、そこで右クリックをしてくださいね。
5.このとき、「エクスポートしますか?」とメッセージが表示されます。保存をする必要なここではないので、「いいえ」を選択します。

これでメッセージは次回から表示されないはずです。

参考になりましたでしょうか?一応メッセージは表示されないはずですので実行してみてくださいね。
  


Posted by web at 21:37Comments(0)マクロのお勉強

2009年11月01日

自作マクロをアドインする方法

まずは、「Visual Basic」ツールバー→「マクロの記録」を選択し、ダイアログボックスを表示させます。そうすて、「マクロの保存先」というのを「個人用マクロブック」を選択し、マクロを記録させます。

ここで記録されたマクロは「Windows\Application Data\Microsoft\Excel\Xlstart」のフォルダ内に「Personal.xls」という名前で保存されています。
こうなると、次回にエクセルを起動すると、保存の影響がでるなどしてしまいます。

この保存先を個人用の「Personal.xls」ではなく、「作業中のブック」にします。

この「作業中のブック」にマクロを保存し終わったら、「ツール」→「ユーザ設定」を選択しダイアログボックスを表示させます。
このダイアログボックスで「コントロール」タブを選択します。
ここの左側にある「分類」でマクロを選択すると、右側にスマイルマークのボタンが表示されます。そのボタンをツールバーにドラッグ&ドロップしてください。

そうすることによって、「選択したボタンの編集」というところが有効になりますのでマクロの登録で先ほど記録したマクロを選択します。

その後、適当なところにそのブックを保存してください。

マクロを実行するときはエクセルを再起動し、ツールバーに表示されているスマイルマークのボタンを押下してくださし。

これで大丈夫だと思うのですが、いかがでしょうか?試しに試してみてくださいね。
  


Posted by web at 19:36Comments(0)マクロを活用

2009年10月31日

エクセルマクロで簡単データ移行

エクセルのファイルとファイルでデータを移動させるマクロを組みたいのですが、パソコンが違う場合や、ドライブが違う場合でも正常に動くようにしたいのですが、どうしたらよいでしょうか?一応パソコンが同じで、パスも同じもののマクロは完成しています。

という疑問があったとします。以下のように記述してみてください。参考になるかもしれません。

まずはメニューの「ツール」→「マクロ」→「Visual Basic Editor」を選択します。または「ALT」+「F11」を選択しても同じVBE画面を開きます。

このVBE画面にある「プロジェクト」というタイトルウィンドウというエクスプローラのようなところにある「標準モジュール」→「Module1」というマクロ名のところをダブルクリックします。そうすると、Module1の内容が表示されます。これにマクロのコードが記述されています。

このコードの中に、ファイルの移動先のパスが記述されているところがありますので、新しいパス名に変更するだけでパソコンが違っても、ドライブが違ってもデータの移動が出来るかと思います。「

頻繁にファイルの移動をするのであればもっとマクロ自体に工夫が必要かと思うのですが、そうじゃないのならとりあえずはこれだけで今あるマクロを生かせると思います。

もっと、高度な事をやり通すのならVBEの勉強をするのが先決なのではないかと思います。まだまだマクロとVBEに関しては勉強する事があると思います。
  


Posted by web at 01:22Comments(0)マクロのお勉強