If mystr <> "" And Application.WorksheetFunction.Dbcs(mystr) = Application.WorksheetFunction.Asc(mystr) Then [A2] = 1 Else [A2] = 0
End Sub
複製代碼
作者: luhpro 時間: 2015-4-30 22:12
本帖最後由 luhpro 於 2015-4-30 22:13 編輯
假如[a1]的第2個字為中文字則[a2]=1 的語法 ?
if mid([a1],2,1) like ???? then [a2]=1
t8899 發表於 2015-4-30 15:17
這樣也可以 :
Sub nn()
Dim sStr$, lPos&
sStr = Mid([A1], 2, 1)
If sStr <> "" Then
lPos = Asc(sStr)
If lPos <= 0 Then [A2] = 1 Else [A2] = 0
End If
End Sub
複製代碼
作者: t8899 時間: 2015-5-1 08:59
這樣也可以 :
luhpro 發表於 2015-4-30 22:12
謝謝
我找到一個最簡單的,供參考
If Asc(mid([a1],2,1)) < 0 Then [a2]=1作者: bobomi 時間: 2015-5-1 09:57
謝謝
我找到一個最簡單的,供參考
If Asc(mid([a1],2,1)) < 0 Then [a2]=1
t8899 發表於 2015-5-1 08:59
你可以 Run 下面看看
Sub xx()
[a1] = "1布2"
If Asc(Mid([a1], 2, 1)) < 0 Then [a2] = 1
[a1] = "123"
If Asc(Mid([a1], 2, 1)) < 0 Then [a2] = 1
End Sub作者: t8899 時間: 2015-5-1 10:08
你可以 Run 下面看看
Sub xx()
[a1] = "1布2"
If Asc(Mid([a1], 2, 1)) < 0 Then [a2] = 1
[ ...
bobomi 發表於 2015-5-1 09:57
我把您的值 "1布2" "123"放入 a1 測試沒問題
Sub MA3333_Click()
Dim k As Integer
For k = 1 To Len([A1])
If Asc(Mid([a1], k, 1)) < 0 Then
MsgBox Mid([a1], k, 1)
End If
Next
End Sub
另外再補判斷其他 英文,數字........的方法
判斷0-9 ===> If Mid([a1], 2, 1) Like "[0-9]" Then
[^A-Za-z]非英文字 [^0-9] 非數字 [^0-9A-Za-z] 除了英文和數字之外的字元
^表示不是作者: bobomi 時間: 2015-5-1 10:19
你一定要執行我這個
我把 Sub Name 改成 MA3333_Click() 了
請你再用滑鼠點點看
Sub MA3333_Click()
[a1] = "1布2"
If Asc(Mid([a1], 2, 1)) < 0 Then [a2] = "1 第2字=中文"
[a1] = "123"
If Asc(Mid([a1], 2, 1)) < 0 Then [a2] = "1 第2字=中文"
End Sub作者: t8899 時間: 2015-5-1 10:41
你一定要執行我這個
我把 Sub Name 改成 MA3333_Click() 了
請你再用滑鼠點點看