Excel 任意のセルを指定する方法
こんにちは
Excel2003でセルの上を「---」で覆うマクロを作成しました。(以下参照)
でもこれはセル「K2」に作成されます。
任意の作成したいセルを「---」で覆うようにするのには
どのように改造すればよいでしょうか?
おわかりの方お教えください。
' 透明なセルを一つ作るマクロ
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 672.75, 13.5, _
81#, 13.5).Select
Selection.Characters.Text = "---"
With Selection.Characters(Start:=1, Length:=3).Font
.Name = "MS Pゴシック"
.FontStyle = "標準"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Selection.HorizontalAlignment = xlCenter
Selection.ShapeRange.Fill.Visible = msoFalse
'Selection.ShapeRange.Fill.Solid
'Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Visible = msoFalse
Range("K2").Select
End Sub
No.1
- 回答日時:
例えばセル「B2」にセットしたければ、以下のようにShapeの位置を設定すれば良いです。
With Range("B2")
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _
.Left, .Top, .Width, .Height).Select
End With
No.2ベストアンサー
- 回答日時:
元のコードは、単なる記録マクロのようですね。
>Selection.ShapeRange.Fill.Visible = msoFalse
> 'Selection.ShapeRange.Fill.Solid
これって、
> 透明なセルを一つ作るマクロ
ではなく、[透明なほ=塗りつぶしをしないオートシェイプを作る]という意味のようです。
>Excel2003でセルの上を「---」で覆うマクロを作成しました。
『「---」で覆う』というのは、囲うという意味ですか?
それとも、「---」で埋め尽くすということでしょうか。
Selection.Characters.Text = "---"
って、単にテキストボックスに、文字を入れているだけことですが、意味が良く分かりません。
Selection.ShapeRange.Line.Visible = msoFalse としているのですから、Lineそのものは、見えません。
.ShapeRange.Line.DashStyle = msoLineSolid
では、「---」は、点線(ドット)ではないようですね。
マクロよりも、日本語解読のほうが遥かに難しいです。
'//標準モジュール
Sub Test1()
Dim obj As Shape
If TypeName(Selection) <> "Range" Then MsgBox "セルの上を範囲を囲ってください。", 48: Exit Sub
With Selection
Set obj = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, .Left, .Top, .Width, .Height)
End With
With obj.DrawingObject
.ShapeRange.Fill.Visible = msoFalse
.ShapeRange.Fill.Transparency = 0#
.ShapeRange.Line.Weight = 1#
.ShapeRange.Line.DashStyle = msoLineSolid 'msoLineDash
.ShapeRange.Line.Style = msoLineSingle
.ShapeRange.Line.Transparency = 0#
.ShapeRange.Line.Visible = msoTrue
End With
obj.DrawingObject.TopLeftCell.Select
Set obj = Nothing
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数セルに〇印をつけるマクロ 4 2022/09/07 05:33
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) Excelの質問です。 重複なしの部署一覧の表を作り、各部署のセル横に各部署の社員番号をすべて抜き出 3 2023/04/26 18:14
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) 指定の条件に応じたセルの場所に〇印(図形)を描く 2 2022/11/08 15:26
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
クリックすると文章が表示され...
-
Excel内での検索結果をシート...
-
セルがクリックされた回数をカ...
-
VBA 見つからなかった時の処理
-
【マクロ】ファイル名の変更に...
-
Excel2007 色のカウント (VBA)
-
小数点以下の文字だけ書式を変...
-
Excelで、図形内の文字をセルに...
-
フォントの色を指定して削除出...
-
セルの値が変ると自動でマクロ...
-
太字に設定されているセルの個...
-
エクセルでセルをダブルクリッ...
-
Excelでセルをクリックす...
-
開始行と最終行を指定して差し...
-
エクセルでページ数をあるセル...
-
エクセルで小文字を大文字に・・・
-
セル背景や文字を点滅させる方法
-
excelのソルバーをVBAで複数行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
太字に設定されているセルの個...
-
Excel ハイパーリンクのURLを別...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
現在のセルの位置を返す関数は...
-
Excelで挿入した図をセルの中央...
-
フォントの色を指定して削除出...
-
VBA 見つからなかった時の処理
-
エクセルでの検索ボックスの作...
-
エクセル 未入力セルがあると...
-
Excel2007 色のカウント (VBA)
-
エクセルでPDFリンクを大量...
-
【EXCEL】先週の月曜日の日付を...
-
EXCELのセルや文字色の反映
-
セルがクリックされた回数をカ...
おすすめ情報