발행자 이름과 등급이있는 2 차원 (x, y) 배열이 있습니다. 불행하게도VBA 중복 결과를 배열로 일치시키고 누락 된 셀에 쓰기.
MBANK BBB
0 NR
QUERCUS TFI PL 0
SCHRODER INVMGMT 0
0 NR
NEWAG 0
GRUPA DUON 0
BZ WBK TFI 0
LEGG MASON PL 0
POLAND 0
POLAND 0
POLAND 0
CIECH SA 0
ERBUD SA 0
MBANK BBB
DB LONDON BBB+
DB LONDON 0
PIONEER PEKAO 0
MBANK BBB
TFI PL 0
ELEMENTAL HLDG 0
MONNARI TRADE 0
MIDAS SA 0
PE MGMS SA 0
MOSTOSTAL ZABRZE 0
LC CORP 0
BANK HANDLOWY W NR
POLAND A
MBANK 0
,이 목록은 결함이 발생하고 때로는은 0
내 목표는 (정확한 이름이 같은) 발행인을하는 것입니다가지고 쓰기, 모든 isuers 등급을 제공하지 않는 소프트웨어 전체 배열에서 동일한 등급. 제공되는 예에서, MBANK는 등급 BBB를 가지고 있지만 마지막 항목에 MBANK 지금까지 0. 나의 코드가 :
'rating
ReDim rating_array(n, 2)
For x = 1 To n
rating_array(x, 1) = ThisWorkbook.Sheets("SAP BW Data").Cells(1 + x, 21) 'issuer group names
rating_array(x, 2) = ThisWorkbook.Sheets("SAP BW Data").Cells(1 + x, 34) 'ratings
Next x
For i = 1 To UBound(rating_array)
If rating_array(i, 1) = 0 Then
Issuer = rating_array(i, 2) 'issuer group name with blank rating
'to do: search through the array, find "Issuer", if at least one has a rating, give all "Issuer" the same rating.
내 목표
:는, 배열을 검색 MBANK는 0을 가지고 찾을 수 있습니다 아래쪽에서 MBANK로 모든 항목을 살펴보고 등급이있는 항목 (이 경우 첫 번째 항목 인 BBB)을 찾고 해당 등급이 현재 0 인 모든 MBANK를 대체하도록하고 싶습니다. 데이터가 생성되는 방식에는 동일한 이름으로 다른 등급의 항목이있는 상황이 없어야합니다. 또한, 내 목록은 약 1500 개의 항목이므로 코드에서 계속 진행되는 다른 많은 것들이 있기 때문에 기능이 비교적 부드럽습니다.
코드의 "검색 및 바꾸기"부분을 처리하는 방법을 잘 모릅니다. 나는 이것에 대한 몇 가지 조언을 주시면 감사하겠습니다!
를 사용하여 도움이되기를 바랍니다 귀하의 배열. – Jeeped
@Jeeped 첫 번째 "일치"에 실제로 등급이 포함 된 경우에만 유용합니다. 내 MBANK 예제에서는 이것이 사실이지만 항상 제공되는 것은 아닙니다 (제공되는 데이터에서 POLAND라는 항목을보십시오). 이 주변의 어떤 방법? –
@DaveR 열 21은 그룹의 이름입니까? 열 34는 등급입니까? –