1
전체 코드의 몇 비트가 있는데 P1
을 If statement
통해 실행하려고합니다. If statement
끝에 값 P1
이 이전 기준을 충족하지 않으면 P1
을 빈 문자열로 변환하고 싶습니다.VBA에서 정수로 변환
나는
Sub SLNR
'<Macro = SLNR>
'<Shortcut = Shift+Ctrl+S>
'<Desc = recorded 7/26/2016 12:33:03 PM>
On Error Resume Next
' Individual lines for the data
Dim L1 As String, L2 As String, L3 As String, L4 As String, L5 As String, L6 As String, L7 As String, _
L8 As String, L9 As String, L10 As String, L11 As String, L12 As String, L13 As String, _
L14 As String, L15 As String, L16 As String, L17 As String, L18 As String, L19 As String, _
L20 As String
Dim L As Integer 'Left column of data
Dim R As Integer 'Right column of data
Dim R2 As Integer 'The data row to be checked
Dim pL As Integer
Dim pR As Integer
Dim SP1 As String
SP1 = "subj_data_field1"
Dim SP2 As String
SP2 = "subj_data_field2"
Dim SP3 As String
SP3 = "subj_data_field3"
Dim P1 As Integer
Dim P2 As Integer
Dim P3 As Integer
Dim E As String 'Carriage Return Key shortcut
E = Chr$(13)
L = 0
R = 10
R2 = 2
pL = L + 14
pR = R + 13
With ActiveSession
.InputMode = 1
.Output "MS1" & E
.WaitFor 0, 1, "W,/) "
' Copying the first few characters of each line in LN report, to compare with the phone fields...
.Copy L, R2 + 0 , R, R2 + 0
L1 = Clipboard
.Copy L, R2 + 1 , R, R2 + 1
L2 = Clipboard
.Copy L, R2 + 2 , R, R2 + 2
L3 = Clipboard
.Copy L, R2 + 3 , R, R2 + 3
L4 = Clipboard
.Copy L, R2 + 4 , R, R2 + 4
L5 = Clipboard
.Copy L, R2 + 5 , R, R2 + 5
L6 = Clipboard
.Copy L, R2 + 6 , R, R2 + 6
L7 = Clipboard
.Copy L, R2 + 7 , R, R2 + 7
L8 = Clipboard
.Copy L, R2 + 8 , R, R2 + 8
L9 = Clipboard
.Copy L, R2 + 9 , R, R2 + 9
L10 = Clipboard
.Copy L, R2 + 10 , R, R2 + 10
L11 = Clipboard
.Copy L, R2 + 11 , R, R2 + 11
L12 = Clipboard
.Copy L, R2 + 12 , R, R2 + 12
L13 = Clipboard
.Copy L, R2 + 13 , R, R2 + 13
L14 = Clipboard
.Copy L, R2 + 14 , R, R2 + 14
L15 = Clipboard
.Copy L, R2 + 15 , R, R2 + 15
L16 = Clipboard
.Copy L, R2 + 16 , R, R2 + 16
L17 = Clipboard
.Copy L, R2 + 17 , R, R2 + 17
L18 = Clipboard
.Copy L, R2 + 18 , R, R2 + 18
L19 = Clipboard
.Copy L, R2 + 19 , R, R2 + 19
L20 = Clipboard
' Finding field for P1
If L1 = SP1 Then
.Copy pL, R2 + 0 , pR, R2 + 0
P1 = Clipboard
ElseIf L2 = SP1 Then
.Copy pL, R2 + 1 , pR, R2 + 1
P1 = Clipboard
ElseIf L3 = SP1 Then
.Copy pL, R2 + 2 , pR, R2 + 2
P1 = Clipboard
ElseIf L4 = SP1 Then
.Copy pL, R2 + 3 , pR, R2 + 3
P1 = Clipboard
ElseIf L5 = SP1 Then
.Copy pL, R2 + 4 , pR, R2 + 4
P1 = Clipboard
ElseIf L6 = SP1 Then
.Copy pL, R2 + 5 , pR, R2 + 5
P1 = Clipboard
ElseIf L7 = SP1 Then
.Copy pL, R2 + 6 , pR, R2 + 6
P1 = Clipboard
ElseIf L8 = SP1 Then
.Copy pL, R2 + 7 , pR, R2 + 7
P1 = Clipboard
ElseIf L9 = SP1 Then
.Copy pL, R2 + 8 , pR, R2 + 8
P1 = Clipboard
ElseIf L10 = SP1 Then
.Copy pL, R2 + 9 , pR, R2 + 9
P1 = Clipboard
ElseIf L11 = SP1 Then
.Copy pL, R2 + 10 , pR, R2 + 10
P1 = Clipboard
ElseIf L12 = SP1 Then
.Copy pL, R2 + 11 , pR, R2 + 11
P1 = Clipboard
ElseIf L13 = SP1 Then
.Copy pL, R2 + 12 , pR, R2 + 12
P1 = Clipboard
ElseIf L14 = SP1 Then
.Copy pL, R2 + 13 , pR, R2 + 13
P1 = Clipboard
ElseIf L15 = SP1 Then
.Copy pL, R2 + 14 , pR, R2 + 14
P1 = Clipboard
ElseIf L16 = SP1 Then
.Copy pL, R2 + 15 , pR, R2 + 15
P1 = Clipboard
ElseIf L17 = SP1 Then
.Copy pL, R2 + 16 , pR, R2 + 16
P1 = Clipboard
ElseIf L18 = SP1 Then
.Copy pL, R2 + 17 , pR, R2 + 17
P1 = Clipboard
ElseIf L19 = SP1 Then
.Copy pL, R2 + 18 , pR, R2 + 18
P1 = Clipboard
ElseIf L20 = SP1 Then
.Copy pL, R2 + 19 , pR, R2 + 19
P1 = Clipboard
Else
CStr(P1)
P1 = "" ' <<<<<<<<********** ISSUE IS HERE
End If
' ......... Code has been trimmed... Showing below the reason I need P1 as an Integer
If P1 <> "" Then
Format(P1,000-000-0000)
End If
If P2 <> "" Then
Format(P2,000-000-0000)
End If
If P3 <> "" Then
Format(P3,000-000-0000)
End If
' CONTINUES ON.....
* 자 ... * "전체를 읽고 이해하도록 부탁하지 마십시오. * 서브 루틴! " (나는 내 자신의 버그를 많이 가지고있다!) **; -) ** 집중하여 * 당신의 질문을 편집하십시오. ** 가장 중요한 ** 질문 **의 가능한 가장 짧은 표현으로 줄이십시오. * 당신이 가장 친절하게 그렇게한다면, 나는 당신이 신속하게 당신이 찾는 답을 빨리 얻을 것이라고 확신합니다. * (또 다른 방법 : "** 당신의 질문을 찾아달라고 ** 요청하지 마십시오!") * –