昨日質問させて頂いたのですが、会社のパソコンではネットは使えない為、マクロ以外の方法でと質問させて頂きましたが、こちらのサイトにはアクセス制限がかかっておらずコピーペースト可能でしたので再度質問させて頂きます。
ちなみにマクロは今回初めて使う為、完全初心者です。
マクロ入門サイトをいくつか読んでみましたが、よくわかりませんでした…
本題ですが、例えばエクセルのシートに
1.いちご
2.りんご
3.みかん
という選択肢があり、2番のりんごを選択したいとします。
『2』という数字の書かれたセルをダブルクリックすると、『2』という数字が○で囲まれるようにする事は出来ないものでしょうか?
会社で使うファイルなのですが、そのファイルにはこういった選択肢がいくつもあるので、シート上のどのセルをクリックしても、クリックした箇所が○で囲まれるようになればと思います。
コピーする為の式が貼り付けられているのを見かけますが、ああいった式を貼り付けた場合、囲む○の大きさや形状はどの段階で指定するのでしょうか?
(ちなみに今回使用したい○のサイズや形状は、どこのセルをクリックしても同じもので構いませんが、行からはみ出ない大きさの○に設定したいです)
一応私が調べたサイトでは、Altキーを押しながら[F11]キーを押す⇒標準モジュールの右側に式を貼り付けると書いてありましたが、その後どのようにその画面を終了するのか、またその後どのように実行するのかが書かれてありませんでした
会社のパソコンはEXCEL2013です。
マクロのコードを貼り付けて、実際に使ってみるまでの流れも教えて頂けませんでしょうか?
素人でもわかりやすいサイトがあればそちらでも構いません。
どうかよろしくお願い致します。
No.2ベストアンサー
- 回答日時:
このような要求は昔からよくありました。
結構大変です。それは、セルに入力された文字がどのようになっているか分からないからです。何もないシートに図形を挿入しようとすると、例えば、
1.単一セルなのか結合セルなのか
2.フォントの種類やフォントサイズは
3.行高とセル内での上・中・下の位置は
4.左・中・右揃えは
5.どこに「○」を付ける
6.セル内の文字は数値?文字列?
7.表示した「○」を消したいことは?
くらいがはっきりすると制約付きでモジュールを作れます。
この質問の場合はほとんど未定の場合なわけで、次のようにします。
ア.実際に使用するシートに「○」を書いてください。
イ.解答したモジュールをそのシートのコードウィンドウに貼り付けて下さい。
(ALT-F11でVBE画面に移動し、メニューから、表示>プロジェクトエクスプローラーを選択し、Sheet1に「〇」があるならプロジェクトエクスプローラーのSheet1(Sheet1)をダブルクリックして表示された右の広い画面に貼り付けます。(Wordやメモ帳などと同じ感覚です))
これで終了です。当然ですが、ダブルクリックするたびに図形が現れたり消えたりします。「○」は図形のマルです。(別の形でも構いません)表示された図形を動かせないようにシートに保護をかけるべきかもしれません。このあたりは検討してください。
シートに帰ります。
この後、「〇」がうまく配置できたか検証します。「ア」で重要な点は、「○」の左上を該当セル内に納めることです。
うまく「○」が置けていれば、そのセルをダブルクリックすれば「○」は消えます。消えなければ位置を修正してください。必要な箇所に「○」を配置して、テストでダブルクリックして表示を全部消してしまいます。全部消えればテストと初期化が終了です。
最初に「○」を貼り付けてもらうことで、モジュール側で行うことが劇的に減少します。このようなシートを使うことの現実味も出てきます。
しかし、実務ではあまり使いません。この後、(アンケートのように)「○」を集計したいなどの追加要求が出てきたりします。「○」を付けて印刷したりしてその場限りで使うにはいいかもしれません。試してみてください。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim shp As Shape 'オートシェイプ
For Each shp In Shapes
With shp
If Not (Application.Intersect( _
Range(.TopLeftCell.Address), Target) Is Nothing) Then
.Line.Visible = Not (.Line.Visible)
End If
End With
Next
Cancel = True
End Sub
ご丁寧にありがとうございます。
挿入して下さっていた一番下の画像にあるような感じで○を付けるのが理想だったのですが、単一セルか結合セルかによっても変わってくるのですね。素人の私には難しすぎました…(笑)
まずは他の方法で代用し、自分なりにマクロについて勉強してみた上で、教えて頂いたものをやってみようと思います。
No.1
- 回答日時:
こんばんは!
なかなか回答がつかないようなので・・・
>『2』という数字の書かれたセルをダブルクリックすると、
>『2』という数字が○で囲まれるようにする事は出来ないものでしょうか?
単純にセルを塗りつぶすだけの方が簡単なのですが、
ご要望が「丸囲い文字」というコトですね。
ExcelではWordのような囲い文字の設定はないようですし、
丸囲い数字は環境依存文字になってしまいますので、
オートシェイプの丸をセル上に表示させる方法はどうでしょうか?
尚、セル内の数字の位置がバラバラだとずれてしまいますので、数字そのものも中央揃えにしています。
セルをダブルクリックすると、数値が入っているセルに関してだけ「丸囲い文字」もどきにしています。
(文字列セルは何も反応しません)
そして、すでに丸のオートシェイプがあるセルをダブルクリックすると
その丸は消えるようにしてみました。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り、好みのセルをダブルクリックしてみてください。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'この行から
Dim c As Range, myShp As Shape, myFlg As Boolean
Set c = Target
If IsNumeric(c) And c <> "" Then
Cancel = True
c.HorizontalAlignment = xlCenter
For Each myShp In ActiveSheet.Shapes
If myShp.Top >= c.Top And myShp.Top + myShp.Height <= c.Top + c.Height And _
myShp.Left >= c.Left And myShp.Left + myShp.Width <= c.Left + c.Width Then
myFlg = True
Exit For
ElseIf myShp.Left > c.Left + c.Width And myShp.Top > c.Top + c.Height Then Exit For
End If
Next myShp
If myFlg = True Then
myShp.Delete
Else
With ActiveSheet.Shapes.AddShape(msoShapeOval, c.Left + (c.Width - c.Height) / 2, _
c.Top + c.Height / 40, c.Left + c.Height, c.Top + (c.Height / 20) * 19)
.Width = c.Height - c.Height / 20
.Height = c.Height - c.Height / 20
.Fill.Visible = msoFalse
With .Line
.ForeColor.RGB = vbBlack
.Weight = 0.7
End With
End With
End If
End If
End Sub 'この行まで
※ セル幅がセルの高さより広いという前提です。
※ すでにオートシェイプが表示されているセルでダブルクリックする際、
オートシェイプ上でダブルクリックしないようにしてください。
こんな感じではどうでしょうか?m(_ _)m
クリックすると、そのセルにオートシェイプで作った○が乗るようになればなぁと思ったのですが、なかなか難しいのですね。
自宅のパソコンではエクセルが使えないので、会社に行ったら早速試してみたいと思います。
お忙しい中わざわざ考えて頂き本当にありがとうございました(^^)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) Excelに文字データのみを貼り付けたい 8 2023/05/03 15:38
- Excel(エクセル) Excel フィルタ後のコピー貼付けと可視セルの関係について 3 2023/02/07 16:42
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
このQ&Aを見た人はこんなQ&Aも見ています
-
【お題】NEW演歌
【大喜利】 若い人に向けたことは分かるけど、それはちょっと寄せ過ぎて変になってないか?と思った演歌の歌詞
-
「平成」を感じるもの
「昭和レトロ」に続いて「平成レトロ」なる言葉が流行しています。 皆さんはどのようなモノ・コトに「平成」を感じますか?
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
2024年のうちにやっておきたいこと、ここで宣言しませんか?
2024年も残すところ50日を切りましたね。 ことしはどんな1年でしたか? 2024年のうちにやっておきたいこと、 よかったらここで宣言していってください!
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
エクセル初心者
Excel(エクセル)
-
VBAで丸をつけたいです。
その他(プログラミング・Web制作)
-
エクセルマクロ セルをクリックするたびに記号を入力
Excel(エクセル)
-
-
4
エクセルで、選択した数字(セル)に赤の丸印をつけたい
Excel(エクセル)
-
5
エクセルで条件を付けて丸を付ける関数を教えてください。
Excel(エクセル)
-
6
Excelで丸をつけたい
Excel(エクセル)
-
7
セルをクリック⇒そのセルに入力された文字を○で囲む
Excel(エクセル)
-
8
エクセルで○をつけるマクロ設定
Excel(エクセル)
-
9
エクセル ダブルクリック入力の範囲が複数の場合
Excel(エクセル)
-
10
特定のセルを丸で囲む方法 ご教示ください。
その他(Microsoft Office)
-
11
エクセルでセルをクリックすると“○”と入力
Excel(エクセル)
-
12
Excel Vbaを使って 結合セルをダブルクリックでチェックマークしたいのですが手順を教えてくださ
Excel(エクセル)
-
13
複数セルに〇印をつけるマクロ
Visual Basic(VBA)
-
14
エクセルでセルをクリックして“○”や✔マークを入力
Excel(エクセル)
-
15
エクセル ボタンを押すとセルの色が変わるようにしたい
Excel(エクセル)
-
16
Excelでセルをクリックするたびに表示を切り替えるには?
Excel(エクセル)
-
17
セルの文字を「印刷時だけ非表示」にしたいです。
Excel(エクセル)
-
18
マクロでオートシェイプを表示したいのですが(泣)
Excel(エクセル)
-
19
エクセルで図形やワードアートもリスト選択できますか?
Word(ワード)
-
20
マクロを使って結合セルに丸を付ける+αな難題。。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】IF関数 Aまたは...
-
セルをクリック⇒そのセルに入力...
-
枠に収まらない文字を非表示に...
-
Excelで数式内の文字色を一部だ...
-
エクセルで指定したセルのどれ...
-
エクセル オートフィルタで絞...
-
貼り付けで複数セルに貼り付けたい
-
Excelでのコメント表示位置
-
エクセルの一つのセルに複数の...
-
(Excel)数字記入セルの数値の後...
-
対象セル内(複数)が埋まった...
-
excelの特定のセルの隣のセル指...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
ハイパーリンクの参照セルのズ...
-
【Excel】 セルの色での判断は...
-
Excel 例A(1+9) のように番地の...
-
エクセルで縦に1112223...
-
文字列として"(ダブルコーテー...
-
エクセルのセルの枠を超えて文...
-
エクセルの書式設定の表示形式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
Excelで数式内の文字色を一部だ...
-
【エクセル】IF関数 Aまたは...
-
エクセルで指定したセルのどれ...
-
(Excel)数字記入セルの数値の後...
-
エクセルの一つのセルに複数の...
-
セルをクリック⇒そのセルに入力...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
枠に収まらない文字を非表示に...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
エクセルの書式設定の表示形式...
-
エクセル オートフィルタで絞...
-
エクセル 足して割る
-
エクセルのセルの枠を超えて文...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
EXCEL VBA セルに既に入...
-
Excel2003 の『コメント』の編...
-
数式を残したまま、別のセルに...
おすすめ情報