こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

excel vba でtextboxの色、線を消す

excel VBA の中でtext boxを作成しその中に文字を転記します。その際中の文字だけを表示し塗りつぶしなし、,線なしにしたいのですが何か方法はありませんか。手動で、図形書式の設定の、塗りつぶしなし,線なし、にすればできますが、次に作成するともとに戻ってしまいます。
コードは、下記のコードです。

dim temp as shape
t = worksheets("ダイヤ").range("q93").value
for j = 73 to t step 1'駅数の数NEXT

m = worksheets("ダイヤ").range("f110").value’表示位置調整
k = worksheets("ダイヤ").cells(j + m.17).value’表示位置取得

set temp = worksheets("ダイ ヤ ").shapes.addtextboxmsotextorientationhorizontal.32,k,65,17)’textbox作成
temp. textframe.characters.text = worksheets("ダイヤ").cells(j,15).value、駅名転記
next j

このコードで現在textboxを作成その中に文字を転記できますが、ボックスも表示されされてしまいま
す、ボックスは消し、文字だけ表示することはできませんか。
何方か教えて頂けませんか。

投稿日時 - 2015-04-01 17:13:03

QNo.8947140

困ってます

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

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

の部分はテキスト ボックスをコンパクト化するためだけにやっている処理で、御質問の件とは直接関係してはいない処理ですので、必要ないかも知れませんが。

投稿日時 - 2015-04-01 21:02:40

お礼

ありがとう御座います。
出来ました。完璧です。感謝します。
いろいろな参考資料を見ましたが、皆目見当が付きませんでした。一瞬のうちに解決できました、
本当にありがとうございました。
今後ともよろしくお願いいたします。
ありがとう御座います

投稿日時 - 2015-04-01 22:20:31

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

Labelで設計してどうですか。

captionでデータを転記できると記憶してます。

投稿日時 - 2015-04-01 21:23:40

お礼

ご解答ありがとう御座います。
今回の問題は、解決できましたありがとう御座います。
VBAを初めて間もないため、今後、ご解答頂きました.captionについても勉強させていただきます。
今後ともよろしくお願いいたします。

投稿日時 - 2015-04-01 22:29:37

最初から消して良いのであれば、線の色、線の幅を指定できます。

投稿日時 - 2015-04-01 17:20:20

お礼

早速ご解答ありがとうございます。
はい、はじめから消えていてほしいです、 ボックスの表示位置等については解決しましたのであとは、中に転記した文字(文字、数字等)のみ表示できれば十分です。
どの様に、コードを追加すればいいでしょうか、よろしくお願いします。

投稿日時 - 2015-04-01 20:59:20

あなたにオススメの質問