[ 라이브 공지] 오늘 12월 4일(토) 라이브는 휴강입니다. 모두 즐겁고 평안한 주말 보내세요!

range와 cells 범위를 같은 형식으로 표현하고 싶습니다

VBA
작성자
마선생
작성일
2021-11-06 03:12
조회
72
엑셀버전 : M365

운영체제 : 윈도우10

자동매크로를 돌려서 아래와 같은 코드가 나왔습니다.

Range("AJ4").AutoFill Destination:=Range("AJ4:AY4"), Type:=xlFillDefault

이것을 cells 를 이용하여 바꾸려고 하는데 풀지를 못해서 질문 드립니다.

Range("AJ4").AutoFill Destination:= Range(.Cells(4, 36), .cells(4,colE2-1)), Type:=xlFillDefault

해봤는데 안되네요. 어떤 부분을 놓치고 있는것인가요? ㅠㅠ

 

전체 5

  • 2021-11-06 11:08

    Range("AJ4").AutoFill Destination:= Range(.Cells(4, 36), .cells(4,colE2-1)), Type:=xlFillDefault

    Cells 앞의 . 는 없어야 하고요, Cells(4,colE2-1) 여기서 colE2는 무엇인가요?? 그자리는 변수나 정수가 들어 가야하는데

    Range(Cells(4,36),Cells(4,51)), Type:=xlFillDefault 로 바꿔야 할 것 같습니다.


    • 2021-11-07 21:22

      @Yukon 님 감사합니다


  • 2021-11-07 18:51

    cells() 방식으로 하고자 하는 여러가지 이유가 있겠으나
    제가 이것을 강조하는 것은 숫자형으로 모든 것을 처리할 수 있기 때문입니다.

    형식을 살펴보면, cells(y,x) 구조 입니다.
    range(x,y) 형식이고요 (여기서 x = 컬럼명) 입니다.

    의미를 확장해 보면,
    Range("AJ4") = range(cells(),cells()) 형식으로 전환할 수 있습니다.
    range(cells(36,4),cells(36,4)) 이 되겠지요.

    dot 기호는 with 블록내 사용하는
    오브젝트를 반복하여 작성하는 것을 피하기 위한 방식이므로
    Range(.Cells(4, 36), .cells(4,colE2-1)) 은 잘 못된 사용이지요.

    Range(.Cells(4, 36), .cells(4,colE2-1)) 을 변환하면
    range(cells(4,46),cells(4,colE2-1)) 이 됩니다.

    여기서 한가지,
    cells 을 사용하는 이유는 특정 값을 기준으로 offset을 사용하는 것에
    편리함을 주는 것이므로,
    반복적으로 사용하는 4를 변수로 적용하고
    colE2 는 앞의 4와의 관계속에서 풀어야 하므로,
    두개의 변수 정의를 사용하면 코드의 유지보수가 용이해 집니다.

    즉, 아래와 같은 코드가 되면, 매우 편한 코드가 되는 것이지요.

    dim xOffset as long '// 최대 컬럼을 생각할 때, 데이터 형은 long 입니다.
    dim yoffset as long

    xOffset = 36
    yOffset = 4

    '// colE2 변수는 xoffset 을 기준으로 +/- 하는 형식으로 코드에 반영합니다.
    '// 아래 코드는 편의상 xoffset-1 로 하였습니다.
    Range(cells(yoffset,xoffset),cells(yoffset,xoffset)).AutoFill Destination:= range(cells(yoffset,xoffset),cells(yoffset,xoffset-1)), Type:=xlFillDefault


  • 2021-11-07 18:55

    여기서 예상되는 잠재적 오류는 .autofill 의 문제입니다.
    이것이 적용되는 왼쪽컬럼에는 빈 칸이 없어야 한다는 것입니다.
    그래서,
    Range(cells(yoffset,xoffset),cells(yoffset,xoffset)).autofill  에서
    range(cells(y1,x1),cells(y2,x2)) 에서 y2 의 값을 적용되는 전체 범위로 조정하는 것입니다.

    예를들어, 20행까지 적용해여 한다면, 아래와 같이 +20 을 하는 것입니다.
    Range(cells(yoffset,xoffset),cells(yoffset+20,xoffset)).autofill


    • 2021-11-07 21:22

      @야휘 님 감사합니다


전체 4,691
번호 카테고리 제목 작성자 작성일 추천 조회
공지사항 공지사항
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (11)
오빠두엑셀 | 2021.10.28 | 추천 16 | 조회 776
트로피 오빠두엑셀 2021.10.28 16 776
24293 기능/도구
New 특정행으로 이동하는 문의를 드립니다. 첨부파일 (1)
열공합시다 | 14:16 | 추천 0 | 조회 9
열공합시다 14:16 0 9
24291 VBA
New for 문과 for each문을 보다가 궁금한게있습니다. (1)
이치영 | 13:43 | 추천 0 | 조회 15
이치영 13:43 0 15
24289 함수/공식
New 함수좀 알려주세요. 첨부파일 (3)
naver_5f055a605ee7d | 10:12 | 추천 0 | 조회 21
naver_5f055a605ee7d 10:12 0 21
24285 VBA
New 파일선택하면 파일명을 클립보드에 넣을수 있을까요? (1)
ㅈㄱㄹ | 01:03 | 추천 0 | 조회 21
ㅈㄱㄹ 01:03 0 21
24279 함수/공식
New xfilter 사용조건 중 모두를 검색하는 수식 첨부파일 (2)
다우미노 | 2021.12.03 | 추천 0 | 조회 25
다우미노 2021.12.03 0 25
24277 VBA
New 엑셀 화일명 변경 관련 첨부파일 (2)
워싱턴 | 2021.12.03 | 추천 0 | 조회 29
워싱턴 2021.12.03 0 29
24276 함수/공식
New 해당값을 끌고오는 양식? 첨부파일 (1) 답변완료
뚜루루 | 2021.12.03 | 추천 1 | 조회 35
뚜루루 2021.12.03 1 35
24275 VBA
New 병렬로 나열된 자료 일렬로 정렬하는 방법 문의 드립니다. 첨부파일 (2) 답변완료
007 | 2021.12.03 | 추천 0 | 조회 46
007 2021.12.03 0 46
24271 VBA
New Sheet 이동시 속성이름을 유지하고 싶어요 첨부파일 (1)
Lucas's | 2021.12.03 | 추천 0 | 조회 29
Lucas's 2021.12.03 0 29
24270 기능/도구
New 여러가지 수식으로 된 엑셀시트에서 목표값에 맞추기 위한 해 찾기 문의드립니다. 첨부파일 (1)
함수시르미 | 2021.12.03 | 추천 1 | 조회 31
함수시르미 2021.12.03 1 31
24262 VBA
New 불규칙 데이터의 자동채우기 해결방법 (1)
파퍼 | 2021.12.03 | 추천 0 | 조회 43
파퍼 2021.12.03 0 43
24259 함수/공식
New 계획시트에서 일일실적시트로 일별 데이터 취합방법 문의드립니다. 첨부파일 (3)
skyzza**** | 2021.12.03 | 추천 0 | 조회 41
skyzza**** 2021.12.03 0 41
24253 함수/공식
New 파일과 관련된 숫자를 다른 파일에 있는 숫자로 변경할 수 있는 방법 첨부파일 (2)
안녕 | 2021.12.02 | 추천 0 | 조회 30
안녕 2021.12.02 0 30
24252 함수/공식
New 표 범위 내에서 맨 좌측값 가져오기 질문드립니다. (3) 답변완료
김성환 | 2021.12.02 | 추천 0 | 조회 33
김성환 2021.12.02 0 33
24251 기능/도구
New 엑셀 주식 가격 예측 양식 사용 질문입니다. 첨부파일 (1)
thause | 2021.12.02 | 추천 0 | 조회 29
thause 2021.12.02 0 29
24249 VBA
New 모든 하위 폴더 내의 최신 파일 하나만을 특정 폴더로 복사하려 합니다 (1)
너의나라 | 2021.12.02 | 추천 0 | 조회 32
너의나라 2021.12.02 0 32
24248 차트/그래프
New 그래프에서 가로 축 Data 설정하는 법 첨부파일
Etter | 2021.12.02 | 추천 0 | 조회 35
Etter 2021.12.02 0 35
24245 VBA
New 아웃룩 이메일 내용에 VBA 변수 넣기 (1) 답변완료
argus | 2021.12.02 | 추천 0 | 조회 37
argus 2021.12.02 0 37
24239 VBA
New [초보] 웹 크롤링 관련 질문입니다. 첨부파일 (2) 답변완료
스캐쳐 | 2021.12.02 | 추천 0 | 조회 34
스캐쳐 2021.12.02 0 34
24238 VBA
New 어떤 한 배열에서 다른 배열에 있는 값만 제외하고 새로운 배열3을 만들 수 있을까요? (2)
Paul | 2021.12.02 | 추천 0 | 조회 32
Paul 2021.12.02 0 32
24233 함수/공식
New 0이상의 값(유효값)이 있는 칼럼과 그 값을 불러오고 싶습니다. 첨부파일 (2) 답변완료
크놉스 | 2021.12.02 | 추천 0 | 조회 32
크놉스 2021.12.02 0 32
24232 차트/그래프
New 엑셀 차트에서 특정 값이 너무 높을때 차트화 하는 법 (2) 답변완료
담담 | 2021.12.02 | 추천 0 | 조회 39
담담 2021.12.02 0 39
24230 VBA
New vba 코딩을 부탁드립니다. 첨부파일 (6)
Trimman | 2021.12.02 | 추천 -2 | 조회 56
Trimman 2021.12.02 -2 56
24228 함수/공식
New 등급 기준표를 참조해서 연산을 하려고 할때 (1) 답변완료
지천 | 2021.12.02 | 추천 0 | 조회 29
지천 2021.12.02 0 29
24221 파워쿼리/피벗
New 엑셀 종속 테이블 문의 첨부파일 (2)
유령회원 | 2021.12.02 | 추천 0 | 조회 25
유령회원 2021.12.02 0 25
24216 VBA
New 로그인엑셀 사용시 수식입력줄 사라짐, 모든 엑셀창 자동종료 첨부파일 (1)
엑셀이 | 2021.12.02 | 추천 0 | 조회 26
엑셀이 2021.12.02 0 26
24215 VBA
New set_routine 반복 매크로 (1)
하늘의 꿈 | 2021.12.01 | 추천 0 | 조회 33
하늘의 꿈 2021.12.01 0 33
VBA
New 재질문 입니다.
하늘의 꿈 | 2021.12.02 | 추천 0 | 조회 17
하늘의 꿈 2021.12.02 0 17
24213 파워쿼리/피벗
New [파워쿼리] 계약자코드 중 특수계약 날짜가 일반계약 최소 최대 사이에 포함여부 열추가 첨부파일 (3)
seorin | 2021.12.01 | 추천 0 | 조회 27
seorin 2021.12.01 0 27
24211 VBA
New 시트를 메일머지하여 Hancom PDF 파일로 출력하는 매크로 VBA 코드 도움을 받고 싶어요. 첨부파일 (4) 답변완료
김학동 | 2021.12.01 | 추천 0 | 조회 39
김학동 2021.12.01 0 39
24210 함수/공식
New 혹시 이런 것도 구할 수 있을까요? (3)
마른막대기 | 2021.12.01 | 추천 0 | 조회 50
마른막대기 2021.12.01 0 50