• ベストアンサー

マクロで質問

例えば、ActiveCell に 売上 と入力するボタンを作っておいて マウスでセルの範囲を指定して、(一個のセルでなく連続するセル) そのボタンを押すと その全部のセルに 売上と入力するような マクロはどうやって作れば良いでしょう。 一個目のセルには入力されるのですが。。 Dataseries とか使う場合もRANGEで範囲していしておかないと 上手くいきません。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 これで出来ると思うのですが。 飛び飛びに選択してもOKです。 Private Sub CommandButton1_Click()   Selection.Value = "売上" End Sub

777nanana
質問者

お礼

Special Thanks!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

maruru01さん有難うございました。 #1で解答をいれたものです。私の求めていたものが これでした。私もこれと同じ事を試したはずなんですが、 何かが悪くて上手く行かないとしてしまったようです。 777nananaさんの質問の欄を勝手に使って感想を述べて 失礼します。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

下記でどうですか。意外に苦労しました。 アクティブなRangeの捉え方にもと直接的な 良いものがあるかも知れない。取りあえず。テスト済み。 (CommandButtonをつくるとか、VBEに至る説明など不要ですよね。) Sheet1にボタンを1つつくり、Sheet1の 任意のRangeを範囲指定し、ボタンをクリックすると 指定範囲のすべてのセルに「売上」がセットされます。 Private Sub CommandButton1_Click() Dim ce As Range For Each ce In Selection ce.Value = "売上" Next End Sub 「ActiveCell に 売上 と入力するボタンを作っておいて」は文字通りでは意味不明ですが上記でよいのでしょう。

777nanana
質問者

補足

早々の回答有難うございます。参考になりました。 ちなみに SUB と Private SUB の使い分けはどのようにすれば良いのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • マクロのセルの範囲指定

    こんにちは。マクロ初心者です。 今エクセルの業務でマクロを作成しようとしているのですが マクロ実行時にセルの範囲でマウスでセルを選んだところから マクロを実行させたいのですが(マクロを実行する際毎回場所が変わるので)そのようなセル指定方法はあったりしますでしょうか? 項目に関しては(BW4~BX4)は固定です。 関数に関しては(BW10~BW10)は月によっては BW20になったりと行が変わります。 Range("BW10").Selectのカッコ内を毎回変更すればいいのですが 項目が20以上ある為面倒です。 なにか良い方法がありますでしょうか? よろしくお願いいたします。 Range("BW4").Select ActiveCell.FormulaR1C1 = "商談明細NO桁数" Range("BX4").Select ActiveCell.FormulaR1C1 = "商談明細NO桁数2" Range("BW10").Select ActiveCell.FormulaR1C1 = "=CONCATENATE(0,RC[-70])" Range("BX10").Select   ActiveCell.FormulaR1C1 = "=RIGHTB(RC[-1],2)"

  • マクロについて

    たとえば、事前にAボタンを設定してあると仮定します。 A1セルを指定してAボタンを押すとそのセルに入力した文字を消します。といったのはマクロで作成したことがあるのですが、これをどのセルを選択してボタンを押すと文字が消せるといったようにしたいのですがどうすればいいですか? マクロだとそのセル単体か、若しくは一定の範囲内を指定したセルといったようにしか設定したことがなく、なんやかんやで構ってみても分かりませんでした。 そのボタンにVBを組まないといけないのでしょうか? それか他の方法があれば教えてください。よろしく御願いします。

  • コピーのマクロ(エクセル)

    同一行で、データが入力されている連続した複数のセルの一部のセル(複数の時も有り)を選択状態にして実行した時に、選択状態になっているセルが含まれる連続したセルをコピーして指定位置に貼り付けるマクロとして以下を試してみましたが、うまくいきません。 どこが間違っているのでしょうか? a = ActiveCell.CurrentRegion.Column ActiveCell.CurrentRegion.Copy Destination:=Cells(30, a)

  • エクセルのマクロについて

    エクセルのマクロ実行についてですが、 例えば、 E1セルの値が1ならばこうする(マクロ名 E1セル1) E2セルの値が2ならばこうする(マクロ名 E1セル2) E3セルの値が3ならばこうする(マクロ名 E1セル3) というマクロを別々に作りました。 これをボタンで実行する時に、 If Range("E1").Value = 1 Then ElseIf Range("E1").Value = 2 Then 2行目には作ったマクロを全部貼り付けないといけないのでしょうか? それとも簡単にこの場合は、マクロ名E1セル1を実行するという命令することができるのでしょうか? できるのであれば、入力方法を教えてください。 質問が分かりにくいと思いますが、よろしくお願いします。

  • エクセルのマクロのボタン機能で文字と色の同時入力の方法

    いつもお世話になっております。 大変あつかましい質問ですがどうぞお願いします。 マクロのボタンで色を塗ることはできるのですが、色と文字を同時にひとつのボタンで入力をする方法(プログラム)を教えていただきたいです。たとえば青く塗ったセルに「10:00」と表示できるボタンを作りたいです。 もうひとつお願いします。 たとえばRange(Cells(1, 1), Cells(10, 10))の場合A1からJ10になるとおもうのですが、マウスで選択した範囲のみボタンの命令が働くようにするにはどうしたらよいのでしょうか? よろしくお願いします。

  • EXCELマクロのデータの最終行の取得

    EXCELマクロでRange("A1").End(xldown).Rowで、正しい値が取得できません。 A1からA6697まで、連続して入力しているので、途中に空白セルはありません。 それよりうしろにも、データはありません。 しかし、帰ってくる値はなぜかそれより遥か下の空白セルの「78889」です。 下からxlUpで検索しても同じ値が返ってきます。 A78889には、何も入力してありません。 rangeで範囲指定ではなく、usedrangeやcolumnsでみると正しく認識します。 どなたか分かる方いらっしゃいましたら、よろしくお願いします。 ※A1からA6697まではマクロで自動作成して埋めているセルなので、問題のセルを含めそれ以外の場所はなにも触っていません。

  • PCのマクロについて

    Sub Macro1() ' ' Macro1 Macro ' ' ActiveCell.FormulaR1C1 = "○" Range("F5").Select End Sub Sub Macro2() ' ' Macro2 Macro ' ' ActiveCell.FormulaR1C1 = "●" Range("F5").Select End Sub こんな感じでマクロ入れたんですが図でわかると思うのですが4段目で確認未のボタンを押すと1段目のセルに選択が移動してしまいます。ボタンを押した際に最初に選択したセルから移動しないようにするにはどうすればよいですか?

  • 指定したセルに番号をつけていくマクロ

    現在、画像をたくさん貼り付け、カタログを作っていて、番号を入れたらマクロで画像が配置されるというところまでできました。今度は、その、番号を指定したセルに書き込む作業をマクロでできないかと考えています。現在の私が作成したマクロが↓です。 Sub 画像1から60() Range("A4").Select ActiveCell.FormulaR1C1 = "1" Range("C4").Select ActiveCell.FormulaR1C1 = "2" Range("E4").Select ・・・   ActiveCell.FormulaR1C1 = "58" Range("q29").Select ActiveCell.FormulaR1C1 = "59" Range("s29").Select ActiveCell.FormulaR1C1 = "60" End Sub というふうにかなり長く、また、この番号が3000番くらいまであり、簡単にできないものかと試行錯誤しています。 初心者なりに、工夫したのは"600"と表記するのを"=60*10"とし、あとで*10を置換しています。それでも3000番はほど遠く何か方法がありましたら教えてください。

  • セルを選択するマクロ(エクセル)

    Sub test() x = ActiveCell.Row y = ActiveCell.End(xlToLeft).Column z = ActiveCell.End(xlToRight).Column Range(Cells(x, y), Cells(x, z)).Select End Sub アクティブセルが含まれている行のみで、データが入力されている連続したセルを選択状態にするマクロとして、上記を考えました。 上記を違った形でもっと簡潔に表すことは可能でしょうか?

  • Excelマクロ:変数でセル範囲指定

    マクロの迷い人です。 Excelの表をマクロで印刷しようと思っています。 行の数が毎回違うため、最終セルもその都度指定しなければなりません。 A1 B1 A2 B2 A3 B3 A4 B4 この例で、A5 B5 以降は空セルとします。 印刷範囲を Range("A1:B4")と書かずに、そのときどきのアクティブセルを変数に代入し、変数を使って範囲指定したいのです。 Sub MacroTest () Dim a As Variant Dim b As Variant Range("B1").Activate Do While a <> 0 ActiveCell.Offset(1, 0).Activate '空白でなければ一つ下に移る a = ActiveCell.Value Loop ActiveCell.Offset(-1, 0).Activate '上の行に移る b = ActiveCell.Value Range("A1:"& b).Select End Sub こうしてみましたがダメでした。 デバッグの方法がわからないので教えて下さい。よろしくお願いします。

このQ&Aのポイント
  • ノートパソコン・Windows10を使用している際に、テンキーで数字を打つたびに画面の左上にNUMLOCK ON OFFの表示が出てしまう問題が発生しています。
  • この表示が邪魔になり、入力する場所が見にくくなってしまいます。
  • ネットで検索をしてみましたが、解決策が見つかりませんでした。エレコム株式会社の製品に詳しい方からのご指導をお願いします。
回答を見る

専門家に質問してみよう