Excel VBA質問箱 IV

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

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


16041 / 76733 ←次へ | 前へ→

【66165】テキストボックスのカーソル位置を取得
質問  かな  - 10/8/6(金) 11:11 -

引用なし
パスワード
   テキストボックスについてとても苦戦してます

テキストボックス内に長文を入力していくのですが、
一行10桁までしか入力できないように制御したいのです。
10桁を超えるを自動的に改行されるといったマクロを組みたいのですが、
どうすればよいのでしょうか?

いろいろ考えてはみたんですが、いまいち方法がわからなくて困ってます

ちなみに今の考えとしては、
行数を取得して、その行数の数によって、IF文を使用して
改行の認識有無をしていく感じにしようとしています

例えば、行数が3行目だったら、
If 行数=3 then
  If MyBit = 34 Then
   MyText1 = Left(TextBox1.Text, MyBit - 1)
   MyText2 = Right(TextBox1.Text, 1)
   TextBox1.Text = MyText1 & vbCrLf & MyText2
  End If
End If

でも、こうすると、4行目にカーソルがいて、3行目に戻って、入力を追加した場合も、行数は3行目と認識してほしいのですが、
行数は4行目と認識されてしまいます

そこで、テキスト内に今入力した文字の位置を取得できる方法はないのでしょうか?
ちょっと、説明がわかりにくいかもしれないけど、どうかよろしくお願いします


Private Sub TextBox1_Change()
Dim MyBit As Integer
Dim MyText1 As String
Dim MyText2 As String
Dim Kai()
Dim strName As String
Dim A

strName = TextBox1.Text
’テキストボックスのビット数を取得
MyBit = LenB(StrConv(strName, vbFromUnicode))
行数を取得
A = Split(TextBox1.Value, vbCrLf)
’MsgBox "行数" & UBound(A) + 1

行数=UBound(A)+1
If 行数=1 then
  If MyBit = 11 Then
   MyText1 = Left(TextBox1.Text, MyBit - 1)
   MyText2 = Right(TextBox1.Text, 1)
   TextBox1.Text = MyText1 & vbCrLf & MyText2
  End If
ElseIf 行数=2 then
  If MyBit = 23 Then
   MyText1 = Left(TextBox1.Text, MyBit - 1)
   MyText2 = Right(TextBox1.Text, 1)
   TextBox1.Text = MyText1 & vbCrLf & MyText2
  End If
ElseIf 行数=3 then
  If MyBit = 34 Then
   MyText1 = Left(TextBox1.Text, MyBit - 1)
   MyText2 = Right(TextBox1.Text, 1)
   TextBox1.Text = MyText1 & vbCrLf & MyText2
  End If
(以下、同様のマクロ記述が22行目まで続く)
End If


End Sub

3 hits

【66165】テキストボックスのカーソル位置を取得 かな 10/8/6(金) 11:11 質問
【66167】Re:テキストボックスのカーソル位置を取得 Jaka 10/8/6(金) 11:45 発言
【66169】Re:テキストボックスのカーソル位置を取得 かな 10/8/6(金) 13:19 質問
【66170】Re:テキストボックスのカーソル位置を取得 Jaka 10/8/6(金) 14:19 発言
【66171】Re:テキストボックスのカーソル位置を取得 かな 10/8/6(金) 16:19 質問
【66173】Re:テキストボックスのカーソル位置を取得 Jaka 10/8/6(金) 16:40 発言
【66273】Re:テキストボックスのカーソル位置を取得 かな 10/8/16(月) 8:48 お礼
【66174】Re:テキストボックスのカーソル位置を取得 SS 10/8/6(金) 16:44 発言
【66275】Re:テキストボックスのカーソル位置を取得 かな 10/8/16(月) 8:56 質問
【66277】Re:テキストボックスのカーソル位置を取得 SS 10/8/16(月) 14:17 発言
【66278】Re:テキストボックスのカーソル位置を取得 かな 10/8/16(月) 16:22 お礼
【66281】Re:テキストボックスのカーソル位置を取得 SS 10/8/17(火) 9:33 発言
【66379】Re:テキストボックスのカーソル位置を取得 かな 10/8/31(火) 16:00 お礼
【66172】Re:テキストボックスのカーソル位置を取得 neptune 10/8/6(金) 16:37 発言
【66274】Re:テキストボックスのカーソル位置を取得 かな 10/8/16(月) 8:51 お礼

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