[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『入力されたセル内の文字列の末尾に文字を入力』(mutum)
記録で出来たマクロ
Sub Macro1()
' Macro1 Macro
ActiveCell.FormulaR1C1 = "★" End Sub
こんばんわ。。
ActiveCell.Value = ActiveCell.Value & "★"
かな? (kei)
ちょっと気になったので・・・・。 >20個程度のボタンを配置し、それぞれ記号を決めて入力できるようにしたいのです。
これは、20個のボタンを配置し、
そのそれぞれに Sub Macro1() ActiveCell.Value = ActiveCell.Value & "★" End Sub Sub Macro2() ActiveCell.Value = ActiveCell.Value & "◎" End Sub Sub Macro3() ActiveCell.Value = ActiveCell.Value & "▼" End Sub ・ ・
と20個のボタンに追加する文字列だけを変えたコードを用意するのですか?
新規ブックにて、試してみてください。 標準モジュールに
'============================================================= Sub 準備() Dim r As Range With ActiveSheet .DropDowns.Delete .Buttons.Delete Set r = .Range("a1:b1") With .DropDowns.Add(r.Left, r.Top, r.Width, r.Height) .Name = "drp1" .List() = Array("○", "●", "◎", "△", "▲", "▽", "▼", "■", "□", "◆", _ "◇", "☆", "★", "@", "*", "♪", "∞", "♂", "♀", "※") End With Set r = .Range("d1:d2") With .Buttons.Add(r.Left, r.Top, r.Width, r.Height) .Name = "btn1" .Caption = "文字追加" .OnAction = ThisWorkbook.Name & "!addstr" End With End With End Sub '======================================================================= Sub addstr() Dim g0 As Long With ActiveCell g0 = .Parent.DropDowns("drp1").Value If g0 > 0 Then .Value = .Value & .Parent.DropDowns("drp1").List(g0) End With End Sub
準備を実行してみて下さい。
アクティブシートに コンボボックスとボタンが一つずつ配置されるはずです。
コンボボックスで追加したい文字列を選択し、文字を追加したいセルを選択し、 文字追加ボタンをクリックしてください。 コンボボックスで選択した文字が追加されませんか?
今回は、コンボボックスの選択文字列(★ とか ▼等)は、コード内に記述しましたが、 本来は、どこかのセルに配置し、コンボボックスに登録します。
このようなコントロール構造にしておくと、20個もボタンを配置する必要もないし、 仮に選択文字列が増えてもコードの変更も必要ありません。
検討してみてください。
ichinose
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.