Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 测试字符串中的换行符,VBA_Excel_Vba - Fatal编程技术网

Excel 测试字符串中的换行符,VBA

Excel 测试字符串中的换行符,VBA,excel,vba,Excel,Vba,当用户键入或按Enter键插入换行符时,我想更改Excel用户表单中文本框的填充颜色。如何测试VBA中是否存在换行符 谢谢谢谢托马斯。我们可以修改Ctrl+V,也可以用换行符粘贴文本吗?谢谢。我尝试粘贴文本,但没有任何更改,除非我按Enter键,并且当我这样做时,文本会重复。知道吗?文本框的多行设置为真吗?当按下回车键时;我的代码从剪贴板复制文本并将其附加到文本框文本的末尾。这是期望的结果吗?您很好地满足了OP的要求+1 Hello Thomas,我们有3种场景:1-用户在文本框中键入,如果有换

当用户键入或按Enter键插入换行符时,我想更改Excel用户表单中文本框的填充颜色。如何测试VBA中是否存在换行符


谢谢

谢谢托马斯。我们可以修改Ctrl+V,也可以用换行符粘贴文本吗?谢谢。我尝试粘贴文本,但没有任何更改,除非我按Enter键,并且当我这样做时,文本会重复。知道吗?文本框的多行设置为真吗?当按下回车键时;我的代码从剪贴板复制文本并将其附加到文本框文本的末尾。这是期望的结果吗?您很好地满足了OP的要求+1 Hello Thomas,我们有3种场景:1-用户在文本框中键入,如果有换行符(回车键),则框变为绿色;2-用户通过Ctlr+V粘贴文本,如果复制的文本中有换行符,则框变为绿色,并且用户在粘贴后可能不总是按回车键;3-文本从另一个文本框传输(按add(添加)按钮或如果符合条件,则textbox1.text=textbox2.text例如,如果文本中有换行符,则方框变为绿色。我们可以为第2点和第3点提供解决方案吗?
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