Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5760 / 13645 ツリー ←次へ | 前へ→

【48971】クリックした場所にテキストボックスが作成される 愛唯太郎 07/5/18(金) 15:12 質問[未読]
【48973】Re:クリックした場所にテキストボックスが... Jaka 07/5/18(金) 16:27 発言[未読]
【49022】Re:クリックした場所にテキストボックスが... 愛唯太郎 07/5/21(月) 9:22 お礼[未読]
【49026】jakaさん解りました。 愛唯太郎 07/5/21(月) 11:48 質問[未読]
【49029】Re:jakaさん解りました。 Jaka 07/5/21(月) 13:40 発言[未読]
【49039】Re:クリックした場所にテキストボックスが... 愛唯太郎 07/5/21(月) 15:54 お礼[未読]
【49040】Re:クリックした場所にテキストボックスが... Jaka 07/5/21(月) 16:27 発言[未読]
【49042】Re:クリックした場所にテキストボックスが... 愛唯太郎 07/5/21(月) 17:01 お礼[未読]

【48971】クリックした場所にテキストボックスが作...
質問  愛唯太郎 E-MAIL  - 07/5/18(金) 15:12 -

引用なし
パスワード
   何か解らないことが有るとここを参考にさせてもらっています。今回初めて投稿します。私は初心者に満たない位のレベルです。

今回はマクロを走らせてからクリックすると、そこにテキストボックスが出来るマクロがどうしても出来ずに投稿させていただきました。

'ボタンを押してから場所を決める
Sub 線ありTextbox()
  Dim shp As Shape
  Set shp = ActiveSheet.Shapes.AddTextbox _
  (msoTextOrientationHorizontal, 0, 0, 10, 10)
  
  With shp
   .Line.Visible = msoTrue
   .SetShapesDefaultProperties
   .Delete
   End With
  Application.CommandBars("Drawing").Controls(9).Execute
End Sub

上記はここでのレスですが、これを改造すれば何とかなると思っていましたが、どうにもなりませんでした。どなたか知恵を貸してください。下記が作成したいテキストボックスです。

  ActiveSheet.Shapes.AddTextbox _
(msoTextOrientationHorizontal, クリックした場所, クリックした場所,52.5, 20.25).Select
  Selection.Characters.Text = "CV1"
  With Selection.Characters(Start:=1, Length:=3).Font
    .Name = "MS Pゴシック"
    .FontStyle = "標準"
    .Size = 11
    End With
  Selection.HorizontalAlignment = xlCenter

【48973】Re:クリックした場所にテキストボックス...
発言  Jaka  - 07/5/18(金) 16:27 -

引用なし
パスワード
     Dim shp As Shape, GG As Range
  On Error Resume Next
  Set GG = Application.InputBox(Prompt:="コメント。", Title:="タイトル", _
                 Default:=ActiveCell.Address, Type:=8)
  If GG Is Nothing Then
    Exit Sub
  End If
  On Error GoTo 0
  If GG Is Nothing Then Exit Sub
  横位置 = GG.Left
  縦位置 = GG.Top
  幅 = GG.Width
  高さ = GG.Height
  Set shp = ActiveSheet.Shapes.AddTextbox _
  (msoTextOrientationHorizontal, 横位置, 縦位置, 幅, 高さ)

'ここから下はよく解りませんん。
' (msoTextOrientationHorizontal, 横位置, 縦位置, 幅, 高さ)
'  With shp
'   .Line.Visible = msoTrue
'   .SetShapesDefaultProperties
'   '.Delete
'   End With
'  Application.CommandBars("Drawing").Controls(9).Execute

【49022】Re:クリックした場所にテキストボックス...
お礼  愛唯太郎 E-MAIL  - 07/5/21(月) 9:22 -

引用なし
パスワード
   Jaka さん 返信ありがとうございました。合わせて返信が遅くなりすみませんでした。金曜日退社後に、レスの通知メール携帯に届いてからPCを開くのが楽しみでたまりませんでしたが、自宅にはインターネット環境が無く、休日に会社でインターネットをやるのは周りの目が厳しいので(チョット前2チャンネルで話題になった会社なので…)遅くなりました。

Jakaさんのマクロで色々確認しましたが、どうすればよいか解りません。(未熟ですみません)
出てきたインプットボックスにセルの場所を入れれば良いのでしょうか?

それと自分の質問を読んでたら、文章が良くなかったので書き直します。
・マクロを走らせ、テキストボックスを作りたい場所でクリックすると、そこに幅52.5 高さ20.25の大きさで ”CV1”というテキストボックスができる。

jakaさん、もうチョット私に付き合ってください。

【49026】jakaさん解りました。
質問  愛唯太郎  - 07/5/21(月) 11:48 -

引用なし
パスワード
   '指定セルにテキストボックス作成
Sub samp1()
  Dim txt As Shape
  Dim rng As Range
 
  Set rng = Selection
  With rng
   Set txt = ActiveSheet.Shapes.AddTextbox _
   (msoTextOrientationHorizontal, .left, .Top, .Width, .Height)
   txt.Line.Visible = msoTrue
   End With
End Sub

の順番が逆っていう事ですね。上記のレスもここでの転用ですが…。(勝手に使ってすみません)
私のしたいことは、ここからテキストボックス内に文字を入れたいのですがどうやっても出来ません。質問の仕方が悪くすみませんでした。

【49029】Re:jakaさん解りました。
発言  Jaka  - 07/5/21(月) 13:40 -

引用なし
パスワード
   'ここから下はよく解りませんん。
' (msoTextOrientationHorizontal, 横位置, 縦位置, 幅, 高さ) ←よけいでした。

>出てきたインプットボックスにセルの場所を入れれば良いのでしょうか?
違います。
正確には、↓になります。
  Set GG = Application.InputBox(Prompt:="セルを選択(クリック)して下さい。", Title:="タイトル", _
                 Default:=ActiveCell.Address, Type:=8)

>の順番が逆っていう事ですね。
そういう意味で無かったと思います。

>私のしたいことは、ここからテキストボックス内に文字を入れたいのですが
>どうやっても出来ません。質問の仕方が悪くすみませんでした。
こちらを参考にしてください。
【63】図形描画、Shapeの方のテキストボックスの書き込みと読み込み
ActiveSheet.Shapes("テキスト 16").TextFrame.Characters.Text

【49039】Re:クリックした場所にテキストボックス...
お礼  愛唯太郎  - 07/5/21(月) 15:54 -

引用なし
パスワード
   Jakaさん、ありがとうございました。
少し変更してやってみましたがどこに文章を入れてよいか解りませんでした。
>ActiveSheet.Shapes("テキスト 16").TextFrame.Characters.Text
↑Set〜のときにはテキストボックスに名前を指定することも出来ませんでした。
(テキストボックスの名前をつけるのは出来ますが)
>【63】図形描画、Shapeの方のテキストボックスの書き込みと読み込み
上記のレスがどこにあるかも解りませんでした。
こんな素人ですみません。これからはもっと勉強してから投稿しますので今回はもう少し教えて下さい。これだけはどうしても作らなければいけないのでお願いします。

Sub samp2()
Dim shp As Shape, GG As Range
  On Error Resume Next
  Set GG = Application.InputBox(Prompt:="ドラッグした場所にテキストボックスが出来ます" & Chr(10) & _
  "セルを選択したら『OKボタン』を押してください, ", Title:="テキストボックス作成", Default:=ActiveCell.Address, Type:=8)
  If GG Is Nothing Then
    Exit Sub
  End If
  On Error GoTo 0
  If GG Is Nothing Then Exit Sub
  横位置 = GG.left
  縦位置 = GG.Top
  Set shp = ActiveSheet.Shapes.AddTextbox _
  (msoTextOrientationHorizontal, 横位置, 縦位置, 52.5, 20.25)
End sub

【49040】Re:クリックした場所にテキストボックス...
発言  Jaka  - 07/5/21(月) 16:27 -

引用なし
パスワード
   >ActiveSheet.Shapes("テキスト 16").TextFrame.Characters.Text

>ActiveSheet.Shapes("テキスト 16") は、
Set shp = ActiveSheet.Shapes.AddTextbox _
  (msoTextOrientationHorizontal, 横位置, 縦位置, 52.5, 20.25)
のshpと同じだから、

shp.TextFrame.Characters.Text = "sssss"

また、
  On Error GoTo 0
  If GG Is Nothing Then Exit Sub ←この行必要無いです。消すの忘れてました。
  横位置 = GG.left

【49042】Re:クリックした場所にテキストボックス...
お礼  愛唯太郎  - 07/5/21(月) 17:01 -

引用なし
パスワード
   Jaka さん
ありがとうございました。出来ました。これからも勉強します。

5760 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free