- ベストアンサー
Excel VBAでTextboxの色、線を消す方法
- Excel VBAの中でTextboxを作成し、文字を転記する際に、ボックスを非表示にして文字だけ表示する方法を教えてください。
- ボックスが表示されず、文字だけが表示されるようにしたい場合、図形書式の設定で塗りつぶしをなし、線をなしに設定する必要があります。
- 次に作成する際にもボックスが表示されないようにするために、VBAコード内で図形のプロパティを設定する方法があります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Sub QNo8947140改() Dim temp As Shape Dim j, m, k, t As Long With Sheets("ダイヤ") t = .Range("Q93").Value For j = 1 To t '駅数の数NEXT m = .Range("F110").Value '表示位置調整 k = .Cells(j + 72, 17).Value '表示位置取得 Set temp = .Shapes.AddTextbox(msoTextOrientationHorizontal, 32, k + m, 65, 17) 'textbox作成 temp.TextFrame2.TextRange.Characters.Text = .Cells(j + 72, 15).Value With temp With .TextFrame2 .VerticalAnchor = msoAnchorMiddle 'テキストの垂直方向の配置を[中心]に設定 .HorizontalAnchor = msoAnchorCenter 'テキストの水平方向の配置を[中央揃え]に設定 .WordWrap = msoFalse '図形内でテキストを折り返すモード解除 .AutoSize = msoAutoSizeShapeToFitText 'テキストに合わせて図形のサイズを調整する End With .Line.Visible = False '線無し .Fill.Visible = False '塗りつぶし無し End With Next j End With End Sub で如何でしょうか? 尤も、 With .TextFrame2 .VerticalAnchor = msoAnchorMiddle 'テキストの垂直方向の配置を[中心]に設定 .HorizontalAnchor = msoAnchorCenter 'テキストの水平方向の配置を[中央揃え]に設定 .WordWrap = msoFalse '図形内でテキストを折り返すモード解除 .AutoSize = msoAutoSizeShapeToFitText 'テキストに合わせて図形のサイズを調整する End With の部分はテキスト ボックスをコンパクト化するためだけにやっている処理で、御質問の件とは直接関係してはいない処理ですので、必要ないかも知れませんが。
その他の回答 (2)
Labelで設計してどうですか。 captionでデータを転記できると記憶してます。
お礼
ご解答ありがとう御座います。 今回の問題は、解決できましたありがとう御座います。 VBAを初めて間もないため、今後、ご解答頂きました.captionについても勉強させていただきます。 今後ともよろしくお願いいたします。
最初から消して良いのであれば、線の色、線の幅を指定できます。
お礼
早速ご解答ありがとうございます。 はい、はじめから消えていてほしいです、 ボックスの表示位置等については解決しましたのであとは、中に転記した文字(文字、数字等)のみ表示できれば十分です。 どの様に、コードを追加すればいいでしょうか、よろしくお願いします。
お礼
ありがとう御座います。 出来ました。完璧です。感謝します。 いろいろな参考資料を見ましたが、皆目見当が付きませんでした。一瞬のうちに解決できました、 本当にありがとうございました。 今後ともよろしくお願いいたします。 ありがとう御座います