這就是我要做的:VBA宏複製錯誤的數據單元格
如果j包含單詞被告 而 如果F包含單詞贖 然後 如果G中 「第五村」然後保留「OF」右邊的所有內容 否則如果G包含「VS」 然後將所有內容保留在「VS」的右邊 否則如果G包含「V」(注意V之前和之後的空格) 然後保存所有內容右邊的「V」
如果k包含「」(連續兩個空格) 然後保持它 或者 如果k包含「OF」 UNKNOWN配偶然後取出電池的最後一個字符,這將是一個逗號 ,如果電池以下劃線開頭 然後將其刪除 然後保持它
G的結果分配給相應的N個單元 K的結果分配給相應的O單元
這是我做過什麼:
Sub Inspect()
Dim RENums As Object
Dim RENums2 As Object
Dim LValue As String
Dim LValue2 As String
Set RENums = CreateObject("VBScript.RegExp")
Set RENums2 = CreateObject("VBScript.RegExp")
RENums.Pattern = "DEFENDANT"
RENums2.Pattern = "FORECLOSURE"
Dim lngLastRow As Long
lngLastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
Dim i
For i = 1 To lngLastRow
If RENums2.test(Range("F" & i).Value) Then
If RENums.test(Range("J" & i).Value) Then
pos = InStr(Range("G" & i), " V ")
pos2 = InStr(Range("G" & i), " VS ")
pos3 = InStr(Range("G" & i), " V ESTATE OF ")
dbspace = InStr(Range("K" & i), " ")
If pos3 <> 0 Then
LValue2 = Right(Range("G" & i), Len(Range("G" & i)) - pos * 2)
ElseIf pos <> 0 Then
LValue2 = Right(Range("G" & i), Len(Range("G" & i)) - pos - 2)
ElseIf pos2 <> 0 Then
LValue2 = Right(Range("G" & i), Len(Range("G" & i)) - pos - 2)
End If
If dbspace <> 0 Then
LValue = Range("K" & i)
End If
schr = Right(LValue, 1)
If schr = "_" Then
With WorksheetFunction
Range("N" & i).Value = Trim(.Substitute(LValue, "_", ""))
End With
Else
Range("N" & i).Value = Trim(LValue)
End If
Range("O" & i).Value = Trim(LValue2)
End If
End If
Next i
End Sub
使用上面的宏,在某些情況下,正確的值不會粘貼到N中。而從以K另一個小區中的值被粘貼到錯誤小區中N.
我附Excel電子表格的一個例子下面的鏈接到我從未收到響應:
http://www.excelforum.com/excel-programming/775695-wrong-data-copied-into-new-cell-from-macro.html
由於作出迴應。
這實際上是正確的。我添加了一個額外的if語句來解釋「未知配偶」。這是我現在的:ElseIf unknown <> 0 Then LValue = Right(Range(「K」&i),Len(Range(「K」&i)) - unknown * 2) 問題是它返回「OUSE KATARINA ASKI「,而不是」KATARINA ASKI「我試圖找出原因。有更好的解決方案。感謝您的迴應。 – JohnMerlino 2011-05-12 13:15:06