- ベストアンサー
マクロを任意のセルで実行させたい
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 できれば、コードは見せていただきたかったですね。 ただ、それは、記録マクロの方法がいけなかったのです。 選択した後の状態からすれば、「記録マクロ」のボタンを押して、結合セルを作り、色をつければ出来上がっていたはずです。試してみてください。 > これは何故でしょうか。 それと、コンピュータの操作を覚える上で、「なぜ」とは考えないで覚えようとしてください。しょせん、他人(MS)の決め事なのです。やり方を覚えるしかありません。人間が作ったものは、どこかに人間の癖が入っています。 これから先も、マクロでも、ワークシートでも、不可解なものが一杯出てきます。私は、昔、同じように聞いたら、有名な某達人の答え、「やってみるまで分からない」という回答を貰って、唖然としたことがあります。 でも、理屈は後から付いてくるものなのですね。 ------------------------------------------- 'サンプル 'これは、結合セルを作りますが、そこが間違えたら、もう一度実行すると、それをナシにするというマクロです。初歩的なマクロです。 -------------------------------------------- Sub MergeCellChange() With Selection If Selection.Count = 1 Then Exit Sub 'ひとつのセルではダメ .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter If .MergeCells = False Then .MergeCells = True .Interior.ColorIndex = 6 '黄色 Else .MergeCells = False .Interior.ColorIndex = xlNone '色ナシ End If End With End Sub
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17068)
>セルで実行させたい この表現はおがしい。実行するプログラムはセル単位にあるわけではない。関数式だとセルに入れるので、そんな感じですが(実態は違う)。「セルで」の「で」のイメージなんですが、 希望する=選択したセルを「対象として」、特定の処理をしたい、と表現します。 VBAでは、ブック、シート、セル、セルの集まりの行、列、セル範囲を対象(下記○○)にして指定し、 ○○.XX ○○.XX=△△ のように○○はオブジェクトを表し、XXはメソドだとか、xxはプロパティだとかを考えます。 ーー マクロに記録では、Range(・・).Selectの・・が具体的なセル番地 になっているので、(=操作がそうしたのです。また実際の操作は具体的なセル範囲を相性に行わざるをえない。)、質問のようになります。 マクロの記録をやり始めて、次ぎの課題が、適宜対象を変化させたいというものになりますが、プログラムの経験を積まないと、すぐに会得できるものではありません。最近VBAをやり始めたのでしょうが、「VBA」ではなく、エクセルの「マクロ」と題名にある本を、1度通読してください。
- choro_jan
- ベストアンサー率25% (1/4)
こんにちは 自動記述で作成されたものだと推察します 記述の中にセルを指定する記述が含まれているからだと思いますので、記述の中の Range("○○").Select とうい行を削除してしまえばアクティブセルで実行すると思います。
関連するQ&A
- マクロを実行しても、画面を動かさないようにするには
「エクセル」で、 「複数行のセルを選択して マクロを実行すると、 その隣にある数字が 選択した部分のセルを結合して 表示される」 というマクロを作ったのですが、 マクロを実行する度に 「一番最初にマクロの実行を 行ったセル」にカーソルが移動してしまい、 困っています。 たとえば、 選択・指定をしたのが 「C840」のセルだったとしても、 実行を押すと、画面は 「C2」のところに戻ってしまうのです。 (マクロ自体は正常に実行されます) 1回1回元の画面までスクロール させなければならず、面倒です。 どうすれば良いのでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルでセルの値が変更されたらマクロを実行
エクセルで、セルの値が変更されたらマクロを実行したいと考えています。 具体的には、A1のセルに何か値が入力されるか、変更されたら、 作成したマクロを実行したいと考えています。 どうしたらいいのでしょうか。 ご教授ください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル:シート1のセルA1が0でなければ任意のマクロを実行したい
エクセルマクロ(VBA)初心者です。よろしくお願いします。 (1)エクセルのsheet1のセルA1の値が”0(ゼロ)”でなければ、そのシート上で任意のマクロを実行し、ゼロであれば実行せずにsheet2へとぶ (2)同じようにsheet2のセルA1がゼロでなければ実効し、ゼロでなければsheet3へとぶ・・・の繰り返し(sheet50まであります。) このようなマクロ(標準モジュール)の書き方を教えてください。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- マクロを実行中にセルの操作をすることは可能?
エクセルVBAでテトリスを作ろうと思うのですが マクロを実行中にセルの操作をすることは可能なのでしょうか? どうもマクロ実行中はフリーズするようなのですがこれは仕様でしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロでセルに色を付けたい
エクセルでセルに色を付けるマクロを作る場合の 色の選択なのですが、特定の色を付けるのではなく、 そのマクロを実行した時に選択されている 「塗りつぶしの色」のボタンのバケツの色にするには どうしたら良いでしょうか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 結合したセルの合計を反映させるマクロ
Excel 2007 Windows10を使用しています。 セルにはあらかじめ数値が入力されていて、 結合したいセルの範囲を指定して結合した時に、 その合計を結合したセルに反映させたいと考えています。 結合したいセルの範囲を指定するところまでは手動で、 「セルを結合して合計を反映させる」 部分をマクロで実行する事はできるでしょうか? なお、結合するセルは毎回違うので、 セルの位置を指定する事はできません。 ご存知の方がいらっしゃいましたら、 よろしくお願い致します。
- ベストアンサー
- Excel(エクセル)
- エクセルマクロ特定のセル
マクロの勉強したばかりですみませんが、 エクセル2003で、特定のセルが選択されたときにマクロを実行したいのですが、可能でしょうか? どうやればよいか教えていただきたいです。
- ベストアンサー
- オフィス系ソフト
- マクロが実行されるセル範囲の変更を簡素化したい
excel 2016を使っています。 例えば、ボタンを押すと指定したセルA1~A10までに入力されている数値を昇順に並べ替えるマクロがあるとします。 この数値が入力されているセルA1~A10の範囲をドラックして、D1~D10の位置に移動すると、マクロが実行される範囲を新たにD1~D10に指定しないとならないのですが、マクロが実行される範囲をA1~A10の範囲に固定して、別の場所に移動してもマクロを修正しなくても良い方法はありますか。
- ベストアンサー
- Excel(エクセル)
- Excel(セルの結合マクロ)
いつもお世話になっております。 Excelのマクロで、選択範囲の中で、下のセルが空白のものは、上のセルと結合されるマクロを作りたいと考えています。 (例1:A1セルに”TEST”が入力されており、A2,A3セルが空白として、A1:A3を選択し、マクロを実行するとA1からA3がセル結合される 例2:A1に”TEST2”B2に"TEST3"が入力されており、A1:B3を選択すると、A1からA3が結合され、B2とB3も結合される) 説明が下手で申し訳ないのですが、お力を貸していただけませんでしょうか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- マクロの自動実行などについて
エクセル2003のVBAマクロについて質問です あるワークシートに値が入力されたら、マクロを自動実行するように出来ないでしょうか? 又、そのセルの値を別のセルにコピーしたいのですが、データを入力する度にセルの場所が ひとつ下へずれます。この最終列のセルの値を必ず拾うようにするにはどうすればよいでしょうか? ややこしくてすいません
- ベストアンサー
- その他MS Office製品
お礼
Wendy02さん、有難う御座います。 もう少し勉強します、今後とも宜しくお願いします。