【发布时间】:2015-06-26 19:58:33
【问题描述】:
我需要创建一个错误代码字符串,其中某些错误字符占据字符串中的某些位置。
假设您有代码 F,它必须在位置 2。
输出:_F
现在,如果我们的代码 G 位于位置 5。
输出:____G
现在如果我有两个错误怎么办?我怎样才能输出这个字符串:
_F__G
用户错误提示:
我的代码:
ErrorCode = Space(CodeNumber.Value) + CodeCharacter.Value
有没有简单的方法来做到这一点?我知道我可以为第一个代码和第二个代码执行此操作,然后取较早的数字 (2) 并从 (5) 中减去它并取 1 离开,然后空格并添加字符。但是当我们有多个代码和空格时,这似乎很混乱和困难。
当我在 VBA 中添加两个字符串时会发生什么?说“___A”+“_B”我假设它是“___A_B”。
有没有办法得到“_B_A”?
谢谢!
------------在尝试了两个答案的想法之后----- ---
我得到这个只返回一个错误代码:
Private Sub ExportError_Click()
Dim myErr As String
myErr = ""
Dim myFile As String
myFile = "C:\Reformatted.txt"
Open myFile For Output As #1
If F_2 = True Then
AddCode "F", 2, myErr
ElseIf G_3 = True Then
AddCode "G", 3, myErr
ElseIf H_4 = True Then
AddCode "H", 4, myErr
End If
Print #1, myErr
Close #1
Shell "C:\Windows\Notepad.exe C:\Reformatted.txt", 1
End Sub
Function AddCode(Lett As String, Pos As Long, ByRef ErrString As String)
If Pos > Len(ErrString) Then
ErrString = ErrString & Space(Pos - Len(ErrString))
End If
Mid(ErrString, Pos, 1) = Lett
End Function
Private Sub UserForm_Click()
End Sub
【问题讨论】:
-
从你的问题中不清楚你需要如何组合不同的代码(它们是否来自不同的来源)或者你如何确定哪个角色需要放在哪个位置。
-
@TimWilliams 好问题!我进一步澄清了一点。它来自文本框。
标签: excel vba character space string-concatenation