2016-08-01 12 views
0

Excelユーザーフォームのテキストボックスの塗りつぶし色を変更するには、ユーザーが入力するか、Enterキーを押して改行を挿入します。 VBAの改行の有無をテストする方法は?文字列VBAの改行のテスト

おかげ

答えて

1
Private Sub TextBox1_BeforeDropOrPaste(ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As MSForms.fmAction, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer) 
    If Action = fmActionPaste Then 

     TextBox1.BackColor = vbGreen 

     On Error Resume Next 

     Data.GetFromClipboard 

     TextBox1.Text = TextBox1.Text & vbCrLf & Data.GetText 

     On Error GoTo 0 
    End If 
End Sub 

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 

    If KeyCode = 13 Then 

     TextBox1.BackColor = vbGreen 

     TextBox1.Text = TextBox1.Text & vbCrLf 
    End If 
End Sub 
+0

おかげでトーマス。 Ctrl + Vで改行し、改行でテキストを貼り付けることはできますか? – user72343

+0

ありがとうございます。私はテキストを貼り付けようとしましたが、Enterキーを押さない限り何も変わりませんでした。何か案が? – user72343

+0

TextBoxのマルチラインはtrueに設定されていますか?エンターを押したとき。私のコードは、クリップボードからテキストをコピーし、それをTextBoxのテキストの最後に追加します。これは望ましい結果ですか? –