• ベストアンサー

実行されません

サイトを見てエクセルのマクロを勉強しているのですが、どうしてもうまく実行されないマクロがあります。 ここから ↓ -------- Sub A1選択() Range("A1").Select End Sub Sub B2選択() Range("B2").Select End Sub Sub C3選択() Range("C3").Select End Sub Sub E4選択() Range("E4").Select End Sub ------ 終了 です。 ツールからマクロを選択するとマクロのダイアログボックスがでます。そうするとC3選択の所だけ実行ボタンが切り替わりません。原因もわかりません。 ちなみにサイトはhttp://www.sanynet.ne.jp/~awa/excelvba/kouza.html です。 OSはWinME  エクセル2000です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 基本的なことですが、プロシージャーの命名法で、セルの名前を最初に使うのは、あまり良くないことですから、直したほうがよいですね。また、勤めて全角文字も使わないほうがよいといわれます。 他のはA1方式ですが、C3 が出来ないのは、R1C1方式に読まれるのでいけないわけです。つまり、C か R の数字の組合わせは使えないはずです。他にも、数字を一番先に使ってはならないとか、規則があります。 なるべく、1つ参考本を手に入れて、それを参考にしたほうが良いと思いますね。

その他の回答 (1)

  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.1

原因はわかりませんが、「C3」という単語で始まるマクロ名は、マクロ一覧からは実行できないようです。 マクロ名を変更してみてください。 ※VBエディタからは実行できるのですが...

関連するQ&A

  • excelのマクロでrangeの選択がうまくいきません。

    excelのマクロでrangeの選択がうまくいきません。 以下のマクロをsheet2に書きました。testcopyは動きますが、testcopy2は動きません。なぜなのでしょうか。どうすればいいのでしょうか。それ以外のマクロの部分との関係から、cellsを使い、数字を使ってrangeの処理をしたいのです。よろしくお願いします。 Sub testcopy() Worksheets("sheet1").Range("B3:C10").Copy Worksheets("sheet2").Range("e5").Select ActiveSheet.Paste End Sub Sub testcopy2() Worksheets("sheet1").Range(Cells(3, 2), Cells(10, 3)).Copy Worksheets("sheet2").Range("e5").Select ActiveSheet.Paste End Sub

  • VBA_マクロ内でマクロ実行

    独学でVBAをやってる初心者です。 よろしくお願いします。 EXCEL2003を使ってます。 例) <A.xlsファイル> Sub File_A () Workbooks.Open Filename:="B" Call File_B Range("A1").Select Selection.Paste End Sub <B.xlsファイル> Sub File_B () Range("A2:T5").Select Selection.Copy End Sub A.xlsファイルを開きマクロFile_Aを実行させると B.xlsファイルのマクロFile_Bを実行することができません。 どうしたらうまく実行できますか? 教えてください。

  • このコードが、うまく実行できません!

    下記の実行後のようにしたのですが、うまく出来ません、 何卒、ご教示くださいませ。 EXEL 2002 です。 ------------------------------------ Sub 数に対してマークを付ける() Dim c As Range Workbooks(1)..Sheets(1).AutoFilter.Range.Cells(1, 5).Select For Each c In Range(Selection, Sheets(1).AutoFilter.Range.Cells(1, 5).End(xlDown)).Select Select Case c.Value Case Is = 0 c.Offset(0, -3).Value = "×" Case Is = 1 c.Offset(0, -3).Value = "△" Case Is = 2 c.Offset(0, -3).Value = "○" Case Else MsgBox "対象の数字がありません" End Select Next End Sub --実行前-------------------  A B C D E F G H 1 ・ ・ ・▼▼▼▼▼▼▼▼←オートフィルターのマーク ・       0 ・       2  ・       1 ・       0 50 ・ --実行後------------------  A B C D E F G H 1 ・ ・   ・▼▼▼▼▼▼▼▼←オートフィルターのマーク ・  ×    0 ・  ○    2  ・  △    1 ・  ×    0 50 ・ ---------- よろしくお願い致します。

  • ファイルを開かずにマクロを実行

    マクロの実行をいちいちファイルを開かずに行いたい場合には、どうすればよいのでしょうか。 フォルダの中に同じフォーマットのファイルが数十個から数百個あります。 作業内容は、ファイルの中の一部分を修正する、などです。フォルダ内の全てのファイルに同じ作業をします。 これを、下記のマクロでやっているのですが、今は、 ファイルを開く→下記の別ファイルで保存したマクロを実行し、修正を行う、を繰り返してやっています。 例えば、こんな作業をします。 Range("B2").Select ActiveCell.FormulaR1C1 = "変更しました" ActiveCell.Characters(1, 2).PhoneticCharacters = "ヘンコウ" Range("D11").Select Sheets("修正").Select Range("A1").Select ActiveCell.FormulaR1C1 = "変更しました" ActiveCell.Characters(1, 2).PhoneticCharacters = "ヘンコウ" Range("A6:B10").Select Selection.ClearContents End Sub これだと、1ファイルずつ作業をしないといけないので、出来ればフォルダ内にあるエクセルファイルに対し一括で処理できるようにマクロを実行させたいです。 おそらく上記コードに、前後何かをつけたせばいいのだと思いますが、それが分かりません。これが分かれば、色々応用がきくと思うので教えていただけませんか。 どうぞ宜しくお願い致します。 Office2003

  • ■ エクセルマクロについてです。初級?

    エクセルのマクロでデスクトップにあるエクセルファイルを開くにはどうしたらいいのでしょうか? 現在は、エクセルファイルA.xls B.xlsという2つを開いていて、マクロを実行することができるのですが、これをA.xlsだけ開いている上体で、実行したいのです。 なので、デスクトップに置いてあるB.xlsファイルを開くコマンド?というか、関数が知りたいのですが、どうしたらいいのでしょうか? 現在はこのような感じになっております。 Sub Macro2() ' ' Macro2 Macro ' マクロ記録日 : 2008/9/10 ユーザー名 : ' ' ActiveCell.FormulaR1C1 = "12345" Range("G17").Select ActiveCell.FormulaR1C1 = "129876" Range("G18").Select Windows("B.xls").Activate Range("N16").Select ActiveCell.FormulaR1C1 = "8/4/2008" Range("N17").Select ActiveWorkbook.Save Range("O16").Select ActiveWorkbook.Save ActiveWindow.Close End Sub

  • マクロの実行とコマンドボタン

    office2000、WIN98SEです。 マクロの記録でマクロを作成しました。 これをコマンドボタンにコピペして実行するとエラーになります。マクロの実行から動かすとなんの問題もありません。なにがいけないんでしょう。教えてください。 ちなみにやりたいことは、複数のシートの同じセルを一気にクリアにしたいです。 記録したマクロは以下の通りです。宜しくお願いします。 Sheets(Array("用紙(1)", "用紙(2)", "用紙(3)", "用紙(4)")).Select Sheets("用紙(1)").Activate Range("B9").Select ActiveWindow.SmallScroll Down:=36 Range("B9:C58").Select Selection.ClearContents Range("F9").Select ActiveWindow.SmallScroll Down:=36 Range("F9:G58").Select Selection.ClearContents Range("I9").Select ActiveWindow.SmallScroll Down:=36 Range("I9:I58").Select Selection.ClearContents Sheets("用紙(1)").Select Range("B9").Select End Sub

  • マクロの実行について 質問です。

    マクロ勉強中です! 何時間も調べておりますが、 どうしても分からないので お教え下さい(;_;) 別シートの都道府県が混在するデータの中から、 3列の付属語が『下関』のものだけをコピーして、シート1に貼り付けるマクロを マクロの記録で 『下関』 というタイトル?にして作りました。(下記) これを実行するときに、マクロ名からではなく、 下の表の R3C8セルの、『下関』 というハイパーリンクをクリックで 実行される・・・・ そんなふうにするには、どうしたらいいのでしょうか? ご回答を おまちしております。よろしくお願いします! Sub 下関() ' ' 下関 Macro ' ' Keyboard Shortcut: Ctrl+a ' ActiveWindow.SmallScroll Down:=-9 Range("B3").Select ActiveWindow.SmallScroll Down:=117 Range("B3:F137").Select Application.CutCopyMode = False Selection.Delete Shift:=xlUp ActiveWindow.SmallScroll Down:=-9 Range("H3").Select Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True Selection.Copy Sheets("Sheet1").Select Range("B3").Select ActiveSheet.Paste Range("C3").Select End Sub

  • 記録したマクロを他のシートにも同時に実行する方法

    いつもお世話になります。 下記のように選んだセルのデータを削除するマクロを「マクロの記録」で作成しました。 Sub Macro2() ' ' Macro2 Macro ' ' Range("E5:R12").Select ActiveWindow.SmallScroll Down:=6 Range("E5:R12,E14:R22").Select Range("E14").Activate ActiveWindow.SmallScroll Down:=12 Range("E5:R12,E14:R22,E24:R28").Select Range("E24").Activate ActiveWindow.SmallScroll Down:=6 Range("E5:R12,E14:R22,E24:R28,E30:R34").Select Range("E30").Activate Selection.ClearContents End Sub 「Macro2」の実行ボタンを作り、シート名「1」~「31」の同じセルのデータをボタンをクリックして、一括で削除したいのですが、この記述をどのように変更したらよいのか、マクロを始めたばかりの初心者の私にご教授して頂けませんでしょうか? 「マクロの記録」で各シートを選び、セルを選んでdeleteして行く方法はありますが、今後のためにも記述の編集で出来る方法をお教え下さい。 よろしくお願いいたします。 当方、エクセル2010で作成していますが、エクセル2002の環境で使います。

  • エクセルVBAでセル範囲の表記方法

    このサイトで、セル範囲を表記するのに [B10:C11] のような書き方をはじめて見ました。 以下のように試してみました。 Sub test01() Range("B10:C11").Select End Sub Sub test02() [B10:C11].Select End Sub まったく同じように働きます。 これは、Range("B10:C11") と、[B10:C11] は同じ意味だということでしょうか? 同じなら、この方が文字数も少なく書きやすいと思うのですが、あまり見かけないのはなぜでしょうか? また、変数を使おうと Sub test03() X = 11 Range("B10:C" & X).Select End Sub を次のように書き換えましたところ、「オブジェクトが必要です」という実行時エラーになってしまいました。 Sub test04() X = 11 [B10:C & x].Select End Sub この書き方は変数は組み合わせられないのでしょうか?

  • シートを選択した時に実行するマクロについて

    今下記のようにボタンを押したらマクロが実行されるようにしていますが、"退出"というシートを選択した時に実行するようにするにはどの様に書けばいいでしょうか? Private Sub CommandButton1_Click() With Range("A4").CurrentRegion .Cells(.Rows.Count + 1, 1).Select End With End Sub よろしくお願い致します。

専門家に質問してみよう