「テキストボックスにリンクしたいセルのアドレスを数式バーに入力し、
アドレスを消すとテキストボックスに値が残る」
という方法があることを知ったのですが、
テキストボックスの数が多いため、1つずつアドレスを消すのが大変な状況です。
質問
①複数ある数式バーのアドレスをまとめて1回で消す方法はないでしょうか。
②同様に、複数のテキストボックスに残った値を1回で消す方法はないでしょうか。
知識が浅いため、出来るだけ簡単な方法を教えていただけたら助かります。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
こんばんは。
>テキストの形を図形の楕円や角丸四角形などにしているsheetは
>1、2とも反応しません。(消すことができません)
話が、本来、テキストボックスの話でしたから、それに集約させました。
一応、知らべてみた結果では、
If shp.AutoShapeType > 0 Then
このように変えればよいはずです。
コードを全部上書きをしてしまうか、行のところだけを上書きをしてください
>このとき、値表記も見た目消えてしまったので、無理か・・・と思ったのですが、
>値を黒字にすると、無事、表記されました。。
この現象は、私のほうは、[既定の図形]として[塗りつぶしなし]とか、文字の色は[黒]、
線は[黒][0.75]を設定していますから、変化しませんが、
デフォルト状態は、線が[青]で[塗りつぶしあり]で、文字の色も黒ではなかったはずです。
マクロで設定の一部が変わると、デフォルトになってしまうのだと思います。
まあ、もちろん、こういうレベルはマクロでは可能です。
1.複数ある数式バーのアドレスをまとめて1回で消す(オートシェイプ編)
Sub ClearFormulaInTxtBox()
Dim shp As Variant
Range("A1").Select
For Each shp In ActiveSheet.Shapes
If shp.AutoShapeType > 0 Then '*
shp.DrawingObject.Formula = ""
End If
Next shp
End Sub
2.複数のオートシェイプに残った値を1回で消す方法
Sub ClearTxtInTxtBox()
Dim shp As Variant
Range("A1").Select
On Error Resume Next
For Each shp In ActiveSheet.Shapes
If shp.AutoShapeType > 0 Then
shp.DrawingObject.Text = ""
End If
Next shp
On Error GoTo 0
End Sub
3.今回の検査に使った、文字を入れるマクロ【数式のアドレスではありません】
'まずフォーム・コントロールにこのマクロを登録します。
'使い方は、最初に、オートシェイプを選択し、ポタンをクリック
'次にセルの任意の所をダイアログボックスで選択し、OKをクリック
'現行では、一つのセルしか選べません。
'オートシェイプの選択の仕方で、ダイアログボックスが
'出にくいことがありますが、選択の位置をずらしながら、数回ボタンをクリックしてください。
Sub PutInShapes()
Dim shp As Object
Dim r As Range
If VarType(Selection) = vbObject Then
On Error Resume Next
Set shp = Selection
If shp Is Nothing Then Exit Sub
If shp.ShapeRange.AutoShapeType > 0 Then
Set r = Application.InputBox("セルを選択してください。", Type:=8)
If Not r Is Nothing Then
shp.Text = r.Text '一つだけ(ここは変更可能)
End If
End If
Else
MsgBox "最初に、オートシェイプを選択してください。", vbInformation
End If
On Error GoTo 0
End Sub
御礼
言葉足らずで、大変お手数をお掛けしてしまいました。
申し訳ございません。
お蔭様でコードを上書きすることで、1、2とも解決しました。
マクロのことも、全く知識がなかったのですが、
丁寧に教えて頂けたので、私にも作ることが出来ました。
本当に有難うございました。
文字の色も、黒色・単色塗りつぶしを既定のテキストボックスに設定しましたら、
こちらも解決することが出来ました。
「3.今回の検査に使った、文字を入れるマクロ」は、
今のところ、まだ出来上がっていない状態ですが、頑張ります。
まずは、御礼かたがた、ご報告とさせて頂きます。
有難うございました。
No.1
- 回答日時:
こんにちは。
一気に消す方法とかいうのは、マクロしか思いつきません。
以下のものをVBEに貼り付けください。
貼り付け場所は、表計算画面から、Alt+ F11 -> Alt +I →(Altを押したまま)->M
なお、フォームコントロール(開発メニュー挿入)のボタンに、マクロ登録をすると、便利だと思います。
1.複数ある数式バーのアドレスをまとめて1回で消す
Sub ClearFormulaInTxtBox()
Dim shp As Variant
Range("A1").Select '←誤動作を防ぐため
For Each shp In ActiveSheet.Shapes
If shp.AutoShapeType = msoShapeRectangle Then
shp.DrawingObject.Formula = ""
End If
Next shp
End Sub
2.複数のテキストボックスに残った値を1回で消す方法
Sub ClearTxtInTxtBox()
Dim shp As Variant
Range("A1").Select
On Error Resume Next
For Each shp In ActiveSheet.Shapes
If shp.AutoShapeType = msoShapeRectangle Then
shp.DrawingObject.Text = ""
End If
Next shp
On Error GoTo 0
End Sub
本当にありがとうございます。
VBEにそのまま貼り付けると1回で消せました。
ただ、テキストの形を図形の楕円や角丸四角形などにしているsheetは
1、2とも反応しません。(消すことができません)
楕円や角丸四角形などの図形にしている箇所も1回で消せる方法がありましたら
ご教示頂けましたら助かります。
再三お手数をお掛けしますが、宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
精液の落とし方を教えてください
-
白血球が多いとどんな心配があ...
-
勃起する時って痛いんですか? ...
-
エクセルで数式の答えを数値と...
-
エクセル指定した範囲からラン...
-
風俗店へ行く前のご飯
-
Excel 2007でセルの値で条件判...
-
イタリアから帰国する際、肉製...
-
2つの数値のうち、数値が小さい...
-
検便についてです。 便は取れた...
-
小数点以下を繰り上げたものを...
-
MIN関数で空白セルを無視したい...
-
これって喉仏ですか? 私は女性...
-
エクセルでエラーが出て困って...
-
ある範囲のセルから任意の値を...
-
エクセルのラベルの値(文字列...
-
顎下の左右にグリグリとしたし...
-
精子が黄色?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
白血球が多いとどんな心配があ...
-
勃起する時って痛いんですか? ...
-
検便についてです。 便は取れた...
-
精液の落とし方を教えてください
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
精子が黄色?
-
2つの数値のうち、数値が小さい...
-
これって喉仏ですか? 私は女性...
-
エクセル指定した範囲からラン...
-
甲状腺が腫れているが血液検査...
-
風俗店へ行く前のご飯
-
エクセルのラベルの値(文字列...
-
小数点以下を繰り上げたものを...
-
ある範囲のセルから任意の値を...
-
エクセルで数式の答えを数値と...
-
知能テストは、今。 義務教育課...
-
MIN関数で空白セルを無視したい...
おすすめ情報
御礼の追加が出来なかったので、こちらに書かせていただきます。
1.複数ある数式バーのアドレスをまとめて1回で消す
角丸四角の図形の形になっていたテキストを、一旦、四角の形に変更して
マクロを実行したら、1回で式が消えました。
このとき、値表記も見た目消えてしまったので、無理か・・・と思ったのですが、
値を黒字にすると、無事、表記されました。(黒字以外は反応しませんでした)
2.複数のテキストボックスに残った値を1回で消す
1同様の方法で消せました。
理屈は分からないのですが、私がやりたかったことは完璧に出来ました。
本当に有難うございました。