エクセル マクロ



ブログトップ>カテゴリー:エクセル マクロ

エクセル マクロ

エクセル マクロについてのページです。

エクセル マクロ

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

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

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

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

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

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

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

  • eワラントとは

  • eワラントのイン・ザ・マネーとアウト・オブ・ザ・マネーとは

  • 日本株式との比較から見るeワラントの特徴

  • eワラントのポジションについて

  • mihotalove at 23:09|この記事のURLTrackBack(0)
    エクセルのマクロを削除するには?

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

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

    削除方法ですが、エクセルのシートを開いている状態で、メニュー「ツール」→「マクロ」→「Visual Vasic Editor」を選択し、モジュール画面を表示させます。(Alt+F11でも同じようにモジュール画面が開きますので試してみてください。)
    そのモジュール画面の左側にエクスプローラのような画面が開いていますので、そこから「標準モジュール」を選択します。
    そうすると展開された中に「MODULE1」というのがありますので「MODULE1の開放」を右クリックから選択してください。その他にも更にモジュールがありましたらMODULE1と同様の処理をして削除してください。
    マクロの記録という自動記録処理を使ったマクロなら大抵はこれで削除できるはずです。


    mihotalove at 23:09|この記事のURLTrackBack(0)
    エクセルで印をつけるマクロを作成したい

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

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

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

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

    以下のようなマクロを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を押下してみてください。そのセルに「○」が表示されるようになっているのを確認してください。


    mihotalove at 23:09|この記事のURLTrackBack(0)
    エクセルのマクロで範囲を選択してみましょう。

    毎日エクセル上にデータ入力などをしているとしたら、データって毎日毎日増えていっていますよね。そのデータから何かの条件を指定して検索するときに、毎日検索範囲が変わっていくとしたらその都度対象セルを修正するのは面倒ですよね。
    これをマクロを使って解決はできないのでしょうか?

    データは、1行に1データで入力されていっているものとします。

    【範囲を選択する方法】
    方法その1.アクティブセル領域を判断する方法
    Sub kettei1()
      Dim TBL As Range

      Worksheets("Sheet1").Activate: Range("A1").Select
       'セルA1を含む、アクティブセル領域(空白行と空白列で囲まれたセル範囲)を選択します
      Set TBL = ActiveCell.CurrentRegion
      TBL.Select
    End Sub

    方法その2.アクティブセル領域を判断する方法(表題などを除きます。)
    Sub kettei2()
      Dim TBL As Range

      Worksheets("Sheet1").Activate: Range("A1").Select
       'セルA1を含む、アクティブセル領域(空白行と空白列で囲まれたセル範囲)を選択  Set TBL = ActiveCell.CurrentRegion
       '1行下の位置から1行少ないところをを設定している
      Set TBL = TBL.Offset(1, 0).Resize(TBL.Rows.Count - 1, TBL.Columns.Count)
      TBL.Select
    End Sub


    mihotalove at 23:09|この記事のURLTrackBack(0)
    エクセル初心者のマクロ

    エクセルのマクロを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」以外の文字が入ってきたときの場合の処理も記述していた方が、色々なバージョンに対応できると思うのでいいかと思います。

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


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

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

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

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

    エクセルの表上には、高さをA2のセルにいれ、幅をB2、奥行きをC2セルに入力するようにします。
    また、オプションボタンのリンク先をD1セル、単位たたりの重量をE1〜3に設定・入力するようにしてみます。

    Sub 重量計算()
    Dim H As Variant
    W As Variant
    L As Variant

    H = Range("A2").Value   '高さ
    W = Range("B2").Value   '幅
    L = Range("C2").Value   '奥行き

    Select Case Range("D1").Value
    Case 1
    MsgBox "箱の重さは" & H * W * L * Range("E1").Value & "です。", , "計算結果です。"
    Case 2
    MsgBox "箱の重さは" & H * W * L * Range("E2").Value & "です。", , "計算結果です。"
    Case 3
    MsgBox "箱の重さは" & H * W * L * Range("E3").Value & "です。", , "計算結果です。"
    End Select
    End Sub

    以上、参考にしてみてくださいね。



  • 青山テルマ

  • RONI

  • DTPエキスパート


  • mihotalove at 23:09|この記事のURLTrackBack(0)
    削除したのにエクセルのマクロが表示される理由は?

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

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

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

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

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


    mihotalove at 23:09|この記事のURLTrackBack(0)
    自分で作成したマクロをアドインするには?

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

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

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

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

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

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

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

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


    mihotalove at 23:09|この記事のURLTrackBack(0)
    イクヨクルヨとは
    イクヨクルヨの特徴
    イクヨクルヨの価格・料金体系
    イクヨクルヨのポイント詳細
    イクヨクルヨ プロフィール作成
    Categories