Scripting Dictionary 문의

VBA
작성자
ArkGie
작성일
2021-07-14 10:25
조회
111
엑셀버전 : 엑셀2019

운영체제 : 윈도우10

안녕하세요.
우선 항상 도움 주셔서 감사드립니다.

기존의 VBA 쓰던 것을 발견했는데 저는 이해가 안가서 질문 드립니다.
예시의 엑셀 파일을 올려 드렸습니다.

내용은 아래와 같습니다.
기존의 Scripting Dictionary 의 내용인데
A행, B행의 내용을 목차에 순서대로 넣는데, 띄어쓰기가 있으면 두셀을 잡아 먹습니다.
살펴보니 텍스트 나누기할때 코드를 수정하면 될거같습니다[제가 수정까지는 못해서..]

어떻게 하면 한셀로 가능할지요?

기존의 VBA 코드같이 첨부해 올립니다.

답변 부탁드리겠습니다.
감사합니다!

Sub ScriptingDictionary_2()
    Dim Dict        As New Scripting.Dictionary
    Dim rngD        As Range
    Dim rngT        As Range
    Dim i           As Long
    Dim lngCount    As Long
    Dim strKey      As String
    Dim strValue    As String
    Dim t, V
 
    Application.ScreenUpdating = False
 
    t = Timer
 
    Set rngD = Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row)
    For Each rngT In rngD
        strKey = rngT
        strValue = rngT.Offset(0, 1)
 
        If Dict.Exists(strKey) Then
            If strValue <> "" Then
                Dict(strKey) = Dict(strKey) & "," & strValue
            End If
        Else
            Dict.Add strKey, strValue
        End If
    Next
 
    lngCount = Dict.Count
 
    Range("H2").CurrentRegion.Offset(1).Clear
    Range("H2").Resize(lngCount, 1) = Application.Transpose(Dict.Keys)
 
    lngCount = Dict.Count
    ReDim V(lngCount, 1)
 
    For i = 1 To lngCount
        V(i, 1) = Dict.Items(i - 1)
    Next i
 
    With Range("I2").Resize(lngCount, 1)
        .Value = V
        .TextToColumns _
         Destination:=Range("I2"), _
         DataType:=xlDelimited, Comma:=True
    End With
 
    With Range("H1").CurrentRegion
        .HorizontalAlignment = xlCenter
        .Borders.LineStyle = 1
    End With
 
    Application.ScreenUpdating = True
 
End Sub

 

전체 2

  • 2021-07-14 18:29
    채택된 답변

    기존 파일의 1,2열의 Dictionary의 Key값과 Item에 들어가는 텍스트들에서 RePlace를 통해 Space Bar를 "/"와 같은 텍스트로 변경 후

    위의 코드를 진행시키고 다시 RePlace를 통하여 "/"를 Space Bar로 되돌리면 될 것 같습니다.

    전 Scripting.Dictionary를 잘 몰라서 제가 도움 드릴 수 있는 건 이것 뿐인것 같네요


  • 2021-07-15 04:42
    If strValue <> "" Then
    Dict(strKey) = Dict(strKey) & "," & strValue
    End If

    여기를 아래처럼 바꿔보세요

    Dim a As Variant
    Dim b As Variant
    
    If strValue <> "" Then
    a = Split(strValue," ")
    For Each b In a
    	Dict(strKey) = Dict(strKey) & "," & b
    Next
    End If

     


전체 3,572
번호 카테고리 제목 작성자 작성일 추천 조회
3558 문서서식
New 특정값(1,2) 입력시 셀 입력 못하게 색깔입히는게 가능할까요? (1) 답변완료
똑똑한곰 | 09:41 | 추천 0 | 조회 13
똑똑한곰 09:41 0 13
3557 함수/공식
New 도와주세요 ... ㅠㅠ (2)
향기 | 08:06 | 추천 0 | 조회 19
향기 08:06 0 19
3556 VBA
New 경우의 수 나열계산 및 값 표기 방법 궁금합니다 첨부파일
슬렁슬렁 | 2021.08.04 | 추천 0 | 조회 16
슬렁슬렁 2021.08.04 0 16
3555 함수/공식
New COUNTIFS 적용 가능 여부 (1)
노갈 | 2021.08.04 | 추천 0 | 조회 19
노갈 2021.08.04 0 19
3554 함수/공식
New 엑셀 색상별 합계 3초만에 구하는 방법 강의를 듣고 색상별 개수를 구하는 방법 오류 2 (1)
Finir2017 | 2021.08.04 | 추천 1 | 조회 17
Finir2017 2021.08.04 1 17
3553 함수/공식
New 엑셀 색상별 합계 3초만에 구하는 방법 강의를 듣고 색상별 개수를 구하는 방법 오류 1 (1)
Finir2017 | 2021.08.04 | 추천 1 | 조회 16
Finir2017 2021.08.04 1 16
3552 VBA
New 사용자 유저폼에서 콤보박으로 선택하는 조건에 따라 매핑된 코드 불러오는 방법 연구
고병관 | 2021.08.04 | 추천 0 | 조회 19
고병관 2021.08.04 0 19
3551 함수/공식
New 함수를 잘모르겠습니다. (1)
벨로 | 2021.08.04 | 추천 0 | 조회 21
벨로 2021.08.04 0 21
3550 기능/도구
New 표 에서 검색할 때 속도 질문 드립니다. (2)
이우용님 | 2021.08.04 | 추천 0 | 조회 15
이우용님 2021.08.04 0 15
3549 함수/공식
New index - match 함수오류 해결 문의 - 인수를 너무 많이 입력했습니다. (1)
이친절카인드 | 2021.08.04 | 추천 0 | 조회 31
이친절카인드 2021.08.04 0 31
3548 피벗테이블
New 슬라이서를 이용한 다중 피벗테이블 연결에서 수식참조 메세지가 뜹니다. (2)
| 2021.08.04 | 추천 0 | 조회 28
2021.08.04 0 28
3547 기능/도구
New 셀 복사 (3) 답변완료
우라기 | 2021.08.04 | 추천 0 | 조회 21
우라기 2021.08.04 0 21
3546 함수/공식
New 특정날짜가 기록되면, 카운트 누적을 초기화하여 다시 카운트할 수 있을까요? 첨부파일 (2) 답변완료
포니 | 2021.08.04 | 추천 0 | 조회 40
포니 2021.08.04 0 40
3545 함수/공식
New 시트 간 연동 관련 (1)
pensa**** | 2021.08.04 | 추천 0 | 조회 38
pensa**** 2021.08.04 0 38
3544 문서서식
New 엑셀 와일드카드 * 별표 질문드립니다. 첨부파일 (3)
월마리아 | 2021.08.03 | 추천 0 | 조회 38
월마리아 2021.08.03 0 38
3543 함수/공식
New 순위와 등급을 이용한 1~7지망까지 정렬하는 방법이 있을까요? 첨부파일 (2) 답변완료
똑똑한곰 | 2021.08.03 | 추천 0 | 조회 39
똑똑한곰 2021.08.03 0 39
3542 VBA
New 아래셀 복사 또는 값이 자동입력되는 매크로 (제발 도와주세요) 첨부파일 (5)
욕심없는성공v | 2021.08.03 | 추천 0 | 조회 40
욕심없는성공v 2021.08.03 0 40
3541 함수/공식
New Check list 자동화를 도와 주세요 첨부파일 (4)
Finir2017 | 2021.08.03 | 추천 1 | 조회 42
Finir2017 2021.08.03 1 42
3540 문서서식
New 함수 이용한 조건부서식 (2) 답변완료
블링블링 | 2021.08.03 | 추천 0 | 조회 37
블링블링 2021.08.03 0 37
3539 함수/공식
New 엑셀 마스터님들, 도와주십쇼. 머리 깨질 것 같습니다. (5) 답변완료
93 | 2021.08.03 | 추천 0 | 조회 69
93 2021.08.03 0 69
3538 VBA
New 오빠두님 파파고 번역기 및 크롤링 네트워크 CLASS문의 첨부파일
H.B | 2021.08.03 | 추천 1 | 조회 32
H.B 2021.08.03 1 32
3537 문서서식
New 재고관리관련 문의 드립니다. (2)
안개숲지기 | 2021.08.03 | 추천 0 | 조회 42
안개숲지기 2021.08.03 0 42
3536 함수/공식
New 일용노무비명세서 첫출근일및마지막근로일 함수 알려주세요 첨부파일 (5) 답변완료
jhp | 2021.08.03 | 추천 0 | 조회 27
jhp 2021.08.03 0 27
3535 기능/도구
New 엑셀 공백기준으로 텍스트나누기 에러 첨부파일 (1)
naver_6108ea4bb3708 | 2021.08.03 | 추천 0 | 조회 22
naver_6108ea4bb3708 2021.08.03 0 22
3534 VBA
New 구글스프레드시트 pdf 저장 스크립트(매크로) (1)
메꾸똘 | 2021.08.03 | 추천 0 | 조회 27
메꾸똘 2021.08.03 0 27
3533 함수/공식
New vlookup으로 찾은 값의 합구하기 (2) 답변완료
리듬 | 2021.08.03 | 추천 0 | 조회 37
리듬 2021.08.03 0 37
3532 함수/공식
New 사이값 자동계산 방법 (1)
실비아 | 2021.08.03 | 추천 0 | 조회 32
실비아 2021.08.03 0 32
3531 문서서식
New 두개의 파일을 띄워놓고 한쪽 파일에서 셀 드래그해서 상태표시줄에 나타난 합계 값을 다른쪽 파일에서 보고 입력하고싶습니다.
무마메 | 2021.08.03 | 추천 0 | 조회 25
무마메 2021.08.03 0 25
3530 함수/공식
New DuTool 수식참조 (3)
casanova | 2021.08.03 | 추천 0 | 조회 31
casanova 2021.08.03 0 31
3529 기능/도구
New 외부 원본(Raw Data) 엑셀 데이터 사용 방법 (2)
kevin5616 | 2021.08.03 | 추천 2 | 조회 46
kevin5616 2021.08.03 2 46