プロが教えるわが家の防犯対策術!

2003年版のエクセルです。
マクロを実行したのに、効果がでません。
継続とか中断とかありますが、どれをクリックしても効果がでません。
必要な質問には何でも答えるので、教えて下さい。

初心者ですので分かりやすく教えて頂けると嬉しいです。

質問者からの補足コメント

  • うーん・・・

    質問にオリジナルを加えて自分で作りました。
    初級のまだ初級なので、初歩的な事から詳しく教えていただきたいのですが…。

    作成したマクロをどうやってエクセルに反映させればよいでしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/07/27 21:50
  • へこむわー

    教えてもらった内容はこちら

    「マクロを実行したけど…」の補足画像2
      補足日時:2016/07/27 22:14
  • うーん・・・

    単純にはめ込み活用はどうすればいいのでしょうか?
    例えば、画像の言語を作成してそれをエクセルの挿入とか張り付けを使いますか?
    ツールのマクロで実行で反映させていけますか?

    確かに、この状態ではすぐにどうこうなりそうにありませんし 言葉の説明では難しいかも知れないですが、
    どこか参考になる記載などご存知でしたら教えて下さい。

    エクセルシート画面から、VBA作成でその後どうすればいいですか?

    No.2の回答に寄せられた補足コメントです。 補足日時:2016/07/28 10:08

A 回答 (6件)

こんばんは


以下のマクロを実行してみてください。

マクロの置き場所はSheet1、テストもSheet1でおこなってださい。

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column < 3 Then Exit Sub
If Target.Column > 5 Then Exit Sub
If Target.Row < 2 Then Exit Sub
If Target.Row > 10 Then Exit Sub

Select Case Target.Interior.Color
Case RGB(255, 255, 255)
Target.Interior.Color = RGB(255, 0, 0)
Case RGB(255, 0, 0)
Target.Interior.Color = RGB(0, 0, 255)
Case RGB(0, 0, 255)
Target.Interior.Color = RGB(0, 255, 0)
Case RGB(0, 255, 0)
Target.Interior.Color = RGB(255, 255, 255)
End Select

Cancel = True
End Sub
    • good
    • 1
この回答へのお礼

ありがとう

ありがとうございます。

お礼日時:2016/08/06 18:19

#2の回答者です。



もう一言だけ書かせていただきます。

ご質問者さんのご質問には、何をしたいかを書かれておりません。

そのコードはどういうつもりで手に入れて、何をさせようとしているのでしょうか。どんなに便利な道具でも、それぞれには使い方と目的があります。それを道具だけ持ってきて、これを動かしかたを教えてくれというのは、掲示板の質問としては、とても不自然なことだと思うのです。

コードを実行しようとしたけれども、動きません、ということだけです。イベント・ドリブン型のマクロ自体、その仕組み自体を教えることと、必要に応じて、その場面でマクロを動かせるというのでは、同じようなことでも雲泥の違いがあります。

まず、ご自身が何をしたいか、ということです。
これが、どんなに偉い人であっても、この場面でいう言葉は一言。
「一体何のためにですか?」ということです。
たかが、VBAマクロかもしれません。ただ、このコードを動かせるように教えてくれればよいのです、と言われているように感じます。

回答者側がVBAのコードを通るようにしてくれた親切な方もいらっしゃるようですが、それだけでは足らないものがあるはずです。

単なるボタンの掛け違いような話でも、回答者側にとっては、大きな違いではないでしょうか。
    • good
    • 2

こんばんは



4から7行目に余計な「」が入っています。
ここでエラーが発生していませんか?

エラーが発生すれば、問題のある行が黄色の背景で表示されます。
…ただし、エラーの原因は他の行にある可能性もあります。
    • good
    • 1
この回答へのお礼

ありがとう

ありがとうございます。

お礼日時:2016/08/06 18:20

単純にはめ込み活用?


下記サイトあたりを読んで基礎は勉強して下さい。
http://officetanaka.net/excel/vba/beginner/10.htm

No2様もそういう事をおっしゃっているのだと思います。
    • good
    • 1
この回答へのお礼

ありがとう

ありがとうございます。
言いたい事が、全部書いてありました!
しかも、言われてショックにだけなって作業が進まなくなることを回避する思いやりのある解答内容で良かったです。

お礼日時:2016/08/06 18:30

こんばんは。



>初級のまだ初級なので、初歩的な事から詳しく教えていただきたいのですが…。

ここの所、初心者だから、と同じような内容の書き込みが続いているように感じています。厳しいことを言うようですが、初級だから、初心者だからと言えば、人は親切に教えてくれるというのは、ちょっと考えが違うと思います。VBAというのは、それを言うだけのものがあるということです。

VBAというのは、Microsoft Office のオマケでも、れっきとしたプログラミング言語です。Microsoft 側では、VBAをつけたことで、後で後悔したという話も聞いたことがあります。あまりにも強力な言語だったので、何度かやめようとして、意味もないセキュリティを付けて、ユーザーのやる気を削ごうとしたこともあります。中でも、Office歴代の中で、最も優れているのは、Excel 2003についている VBAです。ここにVB6 のRuntime オブジェクトが、こっそりオマケに入れていることと、なんと、.Net Framework までも、一部使えるようになっているのです。

失礼ですが、まず、物事には順序というものがあり、学習は段階を踏むことをお薦めします。

書籍のテキストやWebサイトで、きちんと段階を経て学んでから、掲示板でお尋ねになられたほうがよいと思います。

Excel VBAは、ワークシートの余計な知識が、学習を妨げます。
これは私の持論ですが、開発者と製作者がお互いの意思疎通が出来ていなかったのではないかと思っています。思うほどに、VBAマクロとExcelは、直接は関係がありません。インターフェースでつなげているだけで、VBAというひとつの言語プログラムです。私は、最初に、悪いテキストを購入したために、1年経っても、さっぱり分かりませんでした。

なぜ、Cells は、複数で、Rangeは単数なのに複数が入るのか、Sheetは、あるのに入れられない、しかし、Sheets は書けるとか、Window とWorkbook はどちらがどっちとか、分からないことだらけでした。

それはともかく、VBAは、まず、構文から覚えるようにします。

 For ... Next
 Do ....Loop
 If ... Then ... Else ... End

それを覚えたら、変数の宣言...Dim
と進んでいきます。

Excel VBA のモジュールには、標準モジュールとオブジェクトモジュール(シートやThisWorkbook)

だいたい、1週間もすれば、貼り付けして動かせるようになるはずです。

しかし、いきなり、イベント・ドリブン型のマクロに飛びついて、その内容を教えて下さいでは、何を話してもチンプンカンプンで、一体、何だかさっぱり分からないと思います。

まず、用語が分からないと思います。
Private Sub, BeforeRightClick, ByVal, Target
Boolean, Column, Exit Sub

だいたい、ここらに触れるのは、VBAを始めて3ヶ月目ぐらいです。
自慢ではないのですが、私は、ByVal なんて、3年過ぎても、なんとなく程度しか分かりませんでした。

もし、貼り付けたコードを動かしたいのでしたら、まず、エラーが出ているはずですから、あれこれいじって、赤字がでないようにしてください。
この回答への補足あり
    • good
    • 1
この回答へのお礼

ありがとう

なるほど。
ありがとうございます。

お礼日時:2016/08/06 18:32

そのマクロを作ったのは誰ですか。

この回答への補足あり
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!