Excel クリックで〇を付けたい。

Excel | Visual Basic586閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

0

ID非公開

2020/11/10 11:58

新しく作成した表(見本)なのでセルの場所はどちらでも大丈夫です。(質問の文章内が本来のファイルのセル番号ですが並び順は変わってませんのでその辺は対応できます) ダブルクリックでも何ら問題ありません! なんせ、移動や手打ちと言う動作を無くしたい感じです。

ThanksImg質問者からのお礼コメント

皆さま本当にありがとうございました。 かなり業務の負担軽減、効率化が出来ました。 この度は大変な質問だっただけにBA悩みましたがこちらにさせていただきます。 ありがとうございました。

お礼日時:2020/11/10 17:55

その他の回答(6件)

0

回答ではありませんが、テストで図のようなことを試してみました。丸はダブルクリックで5個まで色を変えて作成します。まだ、実験段階ですが、参考まで。また、丸を作成した所の番号をH6に書き出しています。

画像
0

'シートモジュールにコピペしてください。ダブルクリックで〇印作成 '○印を付ける(○印の拡大率、太さ、色を調整可) Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim ritsu As Single Dim myS As Shape ritsu = 1.2 '○印の拡大率 With ActiveCell Set myS = ActiveSheet.Shapes.AddShape(msoShapeOval, _ .Left - (.Width * ritsu - .Width) / 2, _ .Top - (.Height * ritsu - .Height) / 2, _ .Width * ritsu, .Height * ritsu) End With myS.Line.Weight = 1.5 '線の太さ myS.Line.ForeColor.RGB = RGB(0, 0, 0) '線の色 myS.Fill.Visible = msoFalse '透明に Cancel = True End Sub

画像
0

うーん、主訴がいまいちよく判りませんが、 他の方への返答を見る限りこういう事なんですかね(´・ω・) 1.G4以降のG列をダブルクリックした場合 2.(10-ダブルクリックしたセルの内容)÷2の列を戻ったセルが対象 例) [10-6(の入力がある)] ÷ 2 = 2 つまりG列から2列戻る→D列 3.そのセルに〇の図形を被せる Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("G4:G100")) Is Nothing Then Exit Sub Cancel = True Dim x, y, z Dim a As Range Set a = Target.Offset(0, (Target.Value - 10) / 2 - 1) x = a.Width y = a.Height z = IIf(x > y, y, x) x = a.Top + (a.Height - z) / 2 y = a.Left + (a.Width - z) / 2 ActiveSheet.Shapes.AddShape(Type:=msoShapeOval, _ Top:=x, Left:=y, Width:=z, Height:=z).Select With Selection.ShapeRange .Fill.Visible = msoFalse .Line.Visible = msoTrue .Line.ForeColor.RGB = RGB(0, 0, 0) .Line.Weight = 1 End With End Sub >また、セルM9にどこを選択したかによって 先の質問とリンクする内容ですか?それとも全く別の話でしょうか。どちらにしても意味が不明なのでスルーします。

画像

ありがとうございます。 コピペして試してみたのですが、どこのセルをダブルクリックしても〇が出てきません…何故でしょう(泣) M9に〇をつけたセルに対応する評価数値を反映させたいので、添付頂いた画像から読み取るに、VBAのRange("G4:G100")の部分をM列に変更するだけで大丈夫ですよね? 変更しても変更しなくても作動しません… (ファイルはExcel2016、マクロ有効ブックにて行っております)

0

う~ん……「ワンクリックで○印を『重ねて』表示する」のはおそらく不可能かと^^; 「今は図形の〇を上に置いていっている状態」とのことですが、見た目が多少変わっても問題ないのであれば、 【大変良い 10】→【大変良い ⑩】 のように「数字部分だけ入力し直して『丸付き数字』に変換してしまう」という方法のほうが「図形の○を置くのに位置を微調整する」という手間を考えれば幾らか早いかと思いますよ^^ 後者については確か関数でできたかと思われますが、私はExcel関数をほとんど使いこなせないので、どなたか詳しい方が回答してくださることをお祈りするくらいしかできません^^;ゞ

ありがとうございます。 どうにか出来ると良いのですが、個人的にもなかなか難しい問題だと思っています。。。 何回もするものなのでいちいち変換するのなら、〇を移動させる方が早いと思うんですよね… 見た目的にもすぐどこが該当しているのか分からないので… 現状で行くしかないのでしょうかね。(´;ω;`)