'只是一個簡單的思路,只是拋磚引玉 '在form上放一個textbox 運行結果為 ---AE4998 Dim str1 As String Dim str2 As String Dim strCap As String Dim numPart As LongPrivate Sub Form_Load() Text1.Text = DoIt(35000) End SubFunction DoIt(times As Long) As String str1 = "AB0001" str2 = "AZ0001" strCap = Left(str1, 2) numPart = Right(str1, 4) While times > 0 And str1 < str2 numPart = numPart + 1 If CStr(numPart) > 10 ^ 4 Then numPart = 0 strCap = Left(strCap, 1) & Chr(Asc(Right(strCap, 1)) + 1) End If str1 = strCap & Format(numPart, "0000") times = times - 1 DoEvents Wend DoIt = str1 End Function
得用字母与数字的结合了。
msgbox "AB0003" < "AC9909" 'True
End Sub
比方说我想让AB9990一个数字一个数字往上加,然后到AB9999,AC0000,AC0001...
各位高手快点告诉我这个新手啊,最好说具体点。我急!
string2 必要参数。任何有效的字符串表达式。
Compare 可选参数。指定字符串比较的类型。如果 compare 参数是 Null,将发生错误。如果省略 compare,Option Compare 的设置将决定比较的类型。
设置compare 参数设置为:常数 值 描述
vbUseCompareOption -1 使用Option Compare语句设置执行一个比较。
vbBinaryCompare 0 执行一个二进制比较。
vbTextCompare 1 执行一个按照原文的比较。
vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库信息的比较。 看了之后你就知道如何比较两个字符串了!
'在form上放一個textbox 運行結果為 ---AE4998
Dim str1 As String
Dim str2 As String
Dim strCap As String
Dim numPart As LongPrivate Sub Form_Load()
Text1.Text = DoIt(35000)
End SubFunction DoIt(times As Long) As String
str1 = "AB0001"
str2 = "AZ0001"
strCap = Left(str1, 2)
numPart = Right(str1, 4)
While times > 0 And str1 < str2
numPart = numPart + 1
If CStr(numPart) > 10 ^ 4 Then
numPart = 0
strCap = Left(strCap, 1) & Chr(Asc(Right(strCap, 1)) + 1)
End If
str1 = strCap & Format(numPart, "0000")
times = times - 1
DoEvents
Wend
DoIt = str1
End Function