VBA FormulaR1C1 입력값에 변수 넣기
VBA
작성자
kimki****
작성일
2022-06-20 15:40
조회
47
Match에서 검색하는 열을 A에서 한 열씩 옆으로 옮겨가고 싶습니다.
WB(새로 만든 Workbook)의 1번째 줄에서 LC(마지막 열) 까지 Match함수를 순서대로 참조하고 싶습니다.
For Z = 1 To LC
WB.Sheets(1).Cells(3, 4).FormulaR1C1 = "=MATCH(RC[-1],Sheet2!C[-3],0)"
Next Z
위의 코드에서
For Z = 1 To LC
WB.Sheets(1).Cells(3, 4).FormulaR1C1 = "=MATCH(RC[-1],Sheet2!C[-3],0)"
Next Z
- 빨간색으로 된 -3 부분이 For 문이 돌아감에 따라 1씩 증가(-3+Z의 형식)하도록 만들고 싶습니다.
For Z = 1 To LC
WB.Sheets(1).Cells(3, 4).FormulaR1C1 = "=MATCH(RC[-1],Sheet2!C [" & Z & "-3],0)"
Next Z
위와 같이 바꾸었을 때는 1004 런타임 오류가 발생합니다.
Dim SumZ as Integer
For Z = 1 to LC
SumZ = Z-3
WB.Sheets(1).Cells(3, 4).FormulaR1C1 = "=MATCH(RC[-1],Sheet2!C [" & Sumz & "],0)"
Next Z
변수를 만들어 위와 같이 시도해보았으나 역시 되지 않습니다.
해결방법을 알려주시면 감사하겠습니다.
전체 6,896
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
📌 -- VBA 기초-활용 4주 완성, 특별 스터디 모집을 시작합니다! (모집 마감) -- 📌 (99)
![]() ![]() |
![]() ![]() |
2022.06.23 | 144 | 17768 | ||
공지사항 | 함수/공식 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(79)
오빠두엑셀
|
2021.10.28
|
추천 98
|
조회 5344
|
![]() ![]() |
2021.10.28 | 98 | 5344 |
39062 | VBA |
New 고급필터를 사용하여 추출한 데이터를 수정하면 원본 데이터 시트에서 수정되는 코드 해석 부탁드립니다
![]() ![]() |
![]() |
12:24 | 0 | 13 |
39059 | 차트/그래프 |
New 슬라이서 다중 연동하여 원형차트 시 적용되지 않는 문제
![]() ![]() |
![]() |
12:08 | 1 | 7 |
39052 | VBA |
New 파일 삭제 매크로가 한쪽 문구에서만 작동을 합니다.
![]() ![]() |
![]() |
11:23 | 0 | 16 |
39044 | VBA |
New 사용자정의함수를 다른PC에 적용
(1)
![]() ![]() |
![]() ![]() |
09:40 | 0 | 19 |
39034 | VBA |
New 자동화 프로그램 항목 추가 관련
![]() |
![]() |
03:47 | 0 | 31 |
39032 | VBA |
New VBA 고급자동필터 활용 조건 값이 비워 있을 때 결과 값도 안 나오게 하는 방범 문의 합니다.
![]() ![]() ![]() |
![]() ![]() |
03:13 | 0 | 19 |
39019 | 함수/공식 |
New 엑셀 수식시 범위부분이 절대값이 안되요
![]() ![]() |
![]() |
2022.07.05 | 0 | 27 |
39016 | 함수/공식 |
New vlookup으로 가져온 알파벳을 특정숫자로 바꾸는 방법(쌩초보)
(1)
![]() |
![]() |
2022.07.05 | -2 | 30 |
39014 | VBA |
New 열 추가 문의
![]() ![]() |
![]() |
2022.07.05 | 0 | 30 |
39009 | 함수/공식 |
New index,match 함수 중에서 동일한 값이 나올때
![]() ![]() |
![]() |
2022.07.05 | 0 | 26 |
39007 | 함수/공식 |
New VLOOKUP 조건에 맞는 것을 계속해서 나열하고 싶을 때
![]() ![]() |
![]() |
2022.07.05 | 0 | 33 |
39003 | 함수/공식 |
New 셀에서 영어만 추출하기
![]() ![]() ![]() |
![]() |
2022.07.05 | 0 | 23 |
38996 | VBA |
New 현재 열넓이 확인후 20 더하는 방법
(1)
![]() |
![]() |
2022.07.05 | 0 | 33 |
38990 | 함수/공식 |
New 중복값중에 하나만 더하기
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.05 | 0 | 25 |
38987 | 함수/공식 |
New 행 열이 모두 숫자입니다.
![]() ![]() |
![]() |
2022.07.05 | 0 | 26 |
38983 | 함수/공식 |
New 카드번호별로 시트를 만들 수 있는 방법을 알고 싶습니다! - 관련 엑셀첨부
![]() ![]() ![]() |
![]() |
2022.07.05 | 0 | 43 |
38982 | 파워쿼리/피벗 |
New 파워쿼리에서 영문과 숫자만 순서대로 추출
(5)
답변완료
![]() |
![]() |
2022.07.05 | 0 | 38 |
38981 | 구글시트 |
New COUNTIF 함수와 SUBTOTAL
![]() ![]() ![]() |
![]() |
2022.07.05 | 0 | 23 |
38979 | 문서서식 |
New 서로 다른 엑셀 파일 비교
![]() ![]() |
![]() |
2022.07.05 | 0 | 27 |
38976 | 함수/공식 |
New BOM 오류 확인 방법 문의
![]() ![]() |
![]() |
2022.07.05 | 0 | 30 |
38973 | VBA |
New 점수가 6점이상만 시트2에 표기하는 VBA 또는 매크로 표기하는 방법 문의 합니다.
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.05 | 0 | 36 |
38972 | 함수/공식 |
New 함수표현식을 Ctrl + x 사용하여 가져올때, Sheet 참조 제거하는법
(3)
![]() |
![]() |
2022.07.05 | 0 | 36 |
38970 | VBA |
New VBA 1주차 공부하면서 응용해보다가
(2)
답변완료
![]() ![]() |
![]() ![]() |
2022.07.05 | 0 | 33 |
38959 | 기능/도구 |
New 데이터 분할 방법
![]() ![]() ![]() |
![]() |
2022.07.04 | 0 | 23 |
38948 | 문서서식 |
New 액셀 카카오톡 문자보내기 자동화 양식 그림 카톡 보내기 오류 해결 방법 문의 드립니다!
![]() ![]() |
![]() |
2022.07.04 | 0 | 25 |
38942 | 문서서식 |
New 안녕하세요 엑셀 날짜변환에 대해서 질문드립니다.
(3)
![]() |
![]() |
2022.07.04 | 0 | 41 |
38940 | 함수/공식 |
New IF함수 순자적으로 조건 적용되도록 만들고 싶어요
![]() ![]() ![]() |
![]() |
2022.07.04 | 0 | 49 |
38939 | VBA |
New 특정조건일경우 값 입력
(4)
답변완료
![]() |
![]() |
2022.07.04 | 0 | 35 |
38932 | VBA |
New 재고관리 프로그램 중 등록시 '13런타임 오류'나는데 모르겠어요
![]() ![]() |
![]() |
2022.07.04 | 0 | 28 |
38909 | 파워쿼리/피벗 |
New 파워쿼리 작성
![]() ![]() ![]() |
![]() ![]() |
2022.07.04 | 0 | 47 |
@kimki**** 님 열을 A열에 고정하려는 의도라면 아래처럼 하는 것이 어떤가요?
WB.Sheets(1).Cells(3, 4).FormulaR1C1 = "=MATCH(RC[-1],Sheet2!C1,0)"
@원조백수 님 해당값에 A열에서 MATCH를돌려서 #N/A가 아닌값을 다른 시트로 복사하고
이 과정을 B, C열 이런식으로 열을 하나씩 옮겨가기 위함이었습니다.
해당 FormulaR1C1 값이 들어가는 셀은 고정적이기에 상대참조와 절대참조의 문제는 아니었습니다.
답변 감사합니다.
@kimki**** 님 띄어 쓰기에 주의하시고, 아래처럼 해 보세요.
위의 예에서는 "Sheet2!C_[" 처럼 언더바 자리에 공백이 있습니다.
WB.Sheets(1).Cells(3, 4).FormulaR1C1 = "=MATCH(RC[-1],Sheet2!C[" & z - 3 & "],0)"
@원조백수 님 감사합니다.
공백 제거하니 잘 돌아가네요
공백이 원인일 줄은 생각 못했습니다.
답변 너무 감사드립니다