lz是不是这意思?Dim s As String, i As Long s = "sdgbALt+Enterghgjh" For i = 1 To Len(s) - 9 If UCase(Mid(s, i, 9)) = "ALT+ENTER" Then MsgBox "含有" Exit For End If Next If i = Len(s) - 8 Then MsgBox "不含有"
If InStr(1, s, vbTab + vbCr, vbTextCompare) > 0 Then Debug.Print "包含ALT和ENTER的键值" End If If InStr(1, s, "ALT+ENTER", vbTextCompare) > 0 Then Debug.Print "包含ALT+ENTER子字符串" End If
字符串是一组连续的数字根据某种字符编码集方式显示的结果。
alt+enter组合键是键码。
s = "sdgbALt+Enterghgjh"
For i = 1 To Len(s) - 9
If UCase(Mid(s, i, 9)) = "ALT+ENTER" Then
MsgBox "含有"
Exit For
End If
Next
If i = Len(s) - 8 Then MsgBox "不含有"
Debug.Print "包含ALT和ENTER的键值"
End If
If InStr(1, s, "ALT+ENTER", vbTextCompare) > 0 Then
Debug.Print "包含ALT+ENTER子字符串"
End If
在excel的某些单元里面的数据是用 alt+enter 强制分行的(硬回车),在处理这个单元的数据时 我想判断这个单元格里的数据是不是带有alt+enter ,如果有就用“”替换它。
vbTab + vbCr 在replace里怎么表示?直接replace(s,vbTab + vbCr,"")?
我先去试一下。
显然不难,难的是你描述问题很不清晰。alt+enter在大多书情况是全屏的意思。dos游戏,播放器。往往瞬时就失效了。是键码,你这么和字符串对比鬼知道是什么玩意。excell中换行就是按着alt按回车,实际效果就等于文本中的回车。因为excell中的回车表示为确认。你如果描述清晰你的问题。早都解决了。自己没说清楚就不要这么凶巴巴的口气。等有一天你一天回复个几十几百的帖子,看到别人说的云里雾里不说清楚的时候你就能体会了。问题描述清楚,答案就有了。你直接判断回车即可。vbcrlf
Alt+Enter不难懂,但你前面和这里描述得都不对!
excel单元格里Alt+Enter并不是把Alt+Enter写入到字符串里,而是在字符串里加一个换行符chr(10),注意这里加的只有换行(chr(10))并不是回车换行(chr(13)+chr(10)即vbcrlf)。以下代码在VBA里已经测试通过,可以去掉换行符:
Sheet1.Cells(1, 1) = Replace(Sheet1.Cells(1, 1), Chr(10), "")