• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel 2003 マクロでテキストボックスの書式設定)

Excel 2003 マクロでテキストボックスの書式設定

このQ&Aのポイント
  • Excel 2003のマクロを使用して、セルの上に連続して配置するダイアローグボックスの書式設定についてうまくいかない問題が発生しています。
  • 特に、テキストボックス内に「---」を中央配置にしたダイアローグボックスをセルに6個コピーする際、塗りつぶし無しの設定が反映されず、白い下地が残ってしまいます。
  • マクロ作成時にはテキストボックスの書式設定の塗りつぶし色を「塗りつぶし無し」に設定したのですが、なぜこの問題が発生しているのかわかりません。お知恵を拝借できる方がいらっしゃいましたら、ご教示ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

↓の2行が無ければいいようですよ。 Selection.ShapeRange.Fill.Solid Selection.ShapeRange.Fill.Transparency = 0# 下記ページを参考に、ステップインで、1行ずつ実行すれば分かると思います。 デバッグについて http://members.jcom.home.ne.jp/rex-uchida/vba110.htm

sherman
質問者

お礼

ご回答ありがとうございます 実際にやってみて地が透明になりました。 問題が解決しました。

その他の回答 (2)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

6個のテキストボックスを直接、指定セル(E55:J55)に描いてみます。 Dim i As Integer For i = 0 To 5 With Cells(55, 5 + i) With ActiveSheet.Shapes.AddTextbox _ (msoTextOrientationHorizontal, .left, .Top, .Width, .Height) .Fill.Visible = msoFalse '.Characters.Text = "---" '↓以下Excel2007で動いたコード、旧Excelではダメかも .TextFrame2.TextRange.Text = "---" .TextFrame.HorizontalAlignment = xlHAlignCenter .TextFrame.VerticalAlignment = xlVAlignCenter End With End With Next i

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

問題のコードを提示できないでしょうか。

sherman
質問者

補足

余分なマクロも有りますが以下の通りです。 Range("E55:J55").Select Selection.ClearContents Range("H55").Select ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 672#, 729#, _ 81#, 13.5).Select Selection.Characters.Text = "" With Selection.Font .Name = "MS Pゴシック" .FontStyle = "標準" .Size = 11 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With 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.Transparency = 0# Selection.ShapeRange.Line.Visible = msoFalse ActiveSheet.Shapes("Text Box 12").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 Range("K55").Select ActiveSheet.Shapes("Text Box 12").Select Selection.Copy Range("I55").Select ActiveSheet.Paste Range("H55").Select ActiveSheet.Paste Range("G55").Select ActiveSheet.Paste Range("F55").Select ActiveSheet.Paste Range("E55").Select ActiveSheet.Paste Range("E56").Select Selection.Copy Range("F56:J56").Select ActiveSheet.Paste Application.CutCopyMode = False Range("E56:J56").Select Selection.Copy Range("E57:E59").Select ActiveSheet.Paste Application.CutCopyMode = False Range("K59").Select End Sub