Моя проблема:
Я создал цикл For Each, который просматривает 2 разных столбца на одном листе.
Этот цикл копирует нужные столбцы и уникальные значения.
Хотя макрос работает, он вставит неправильную дату.
Способ вставки неправильной даты указан в разделе «Цель:».
Моя таблица:
| Date | ColB | Amount | Date | ColG | Amount |
| 02-08-2018 | V584753 | 500 | 02-08-2018 | V584753 | -500 |
| 11-08-2018 | 486542 | 1.000 | 21-08-2018 | 439857 | -30.547 |
| 21-08-2018 | 439857 | 30.547 | 31-08-2018 | V587742 | -1.059 |
Мой код:
Sub PasteCellsWithoutMatch()
Dim ColB As Range, ColG As Range, c As Range
Dim Wf As WorksheetFunction
Set Wf = WorksheetFunction
Dim vR() As Variant
Dim k As Long, j As Integer
For Each c In ColB.Cells
If Not IsEmpty(c) Then
With Wf
n = .CountIfs(ColG, c)
If n = 0 Then
k = k + 1
ReDim Preserve vR(1 To 3, 1 To k)
For j = 1 To 3
vR(j, k) = c.Offset(0, j - 2)
Next j
End If
End With
End If
Next
Sheet("Match").Range("A1").Resize(k, 3) = Wf.Transpose(vR)
Цель:
Что я подразумеваю под «вставкой неправильной даты», код заменяет «дд-мм-гггг» на «мм-дд-гггг» всякий раз, когда первое значение меньше 12.
Значение: 02-08-2018
Становится: 08-02-2018
Принимая во внимание: 13-08-2018
Осталось: 13-08-2018
Как я могу исправить эту ошибку?
Если есть какие-либо исправления к нему.
Заранее благодарю за помощь.