다음 데이터 세트가 있습니다. 중복 된 데이터가 있습니다. 내가 A2에서 열 A의 값을보고하는 매크로를 만들려고하고VBA - 중복 된 시트를 추가하고 출력을 행에 집계합니다.
values:
2880CR-20.36KX53305DECOAK2015
F05572-CN48517OCTOAK2016
F05572-CN48517DECOAK2016
F05572-CN48517NOVOAK2015
F05572-CN48517NOVOAK2015(duplicate)
F05572-CN48517DECOAK2015
F05573-CN48517JANOAK2016
F05573-CN48517FEBOAK2016
F05573-CN48517JANOAK2015
F05573-CN48517FEBOAK2015
F05573-CN48517MAROAK2015
F05573-CN48517APROAK2015
F05573-CN48517APROAK2015(duplicate)
: A (열에서 행의 수를) 및 문자열에 포함 된 중복 값의 목록을 반환은 "선언 strMyDupList ". 기본적으로 적어도 하나의 중복이있는 경우 msgbox가 열리고 새 시트가 열 주소 및 값으로 생성되며 시트 전체에 걸쳐 가로로 쉼표 대신에 쉼표로 구분 된 모든 값을 나열하려고합니다. 그래서 같은 :
Address value
$A$5 F05572-CN48517NOVOAK2015
$A$13 F05573-CN48517APROAK2015
내 코드는 다음과 같습니다
If strMyDupList <> "" Then
MsgBox "The following entries have been used more than once:" & vbNewLine & strMyDupList
Worksheets.Add.name = name
Worksheets(name).Range("A1").Value = "Location"
Worksheets(name).Range("B1").Value = "Value"
' Worksheets(name).Range("A2:C2").Value = Split(strMyDupList, ",")
Worksheets(name).Range("B4:B6") = Split(Application.WorksheetFunction.Transpose(strMyDupList), ",")
결과는이 코드로, 그러나, 수직 수평에서 tranposed 값을 얻을 수 오전 있으며,이 경우에만 FIRST를 반환 문자열 값 목록에서 VALUE, 그래서 돌아 오는 것은 :
Address value
$A$5 F05572-CN48517NOVOAK2015
$A$5 F05572-CN48517NOVOAK2015 (should be F05573-CN48517APROAK2015)
나는 UBound
Resize
과 함께 일할 수있는 본 적이 있지만 구문이 작동하거나 어떻게 아무 생각이 사용되었습니다. 누군가가 도와 줄 수 있습니까?
고맙습니다.
답장을 보내 주셔서 감사합니다. 그러나 중복 된 데이터는 남기지 않으려 고합니다. 오히려, 나는 중복을 식별하려고 노력하고있다. 그래서 나는 왜 다른 데이터 세트와 상호 참조 할 수 있는가? 이 매크로를 사용하면 더 쉽게 사용할 수 있습니다. –
물론, 내 업데이트 된 코드를 참조하십시오. 간단한 변화. ArrayList 매우 강력하고 이상한 그들이 그것을 비난하는 방법입니다. 나는 또한 어쩌면 당신이 목록 및 Linq에 액세스 할 수있는 C#으로 추가 기능으로 이동하는 것이 좋습니다 것이 훨씬 쉬웠을 것입니다. 비록 내가 전체 코드베이스와 교육용 devs를 옮기는 것이 완전히 다른 문제라는 것을 이해하지만. – GibralterTop