셀선택 매크로 문의 합니다.
VBA
작성자
짜장좋아
작성일
2023-11-13 16:26
조회
125
안녕하세요
아래와 같이 셀선택 하는 매크로를 만들고 있는데, i가 0일때는 해제 되고, i가 1일때만 선택되어 있습니다.
i 값이 1000 정도 되는데, 이전 셀도 선택 되어 있도록 할 수 없을까요?
Sub 선택()
Dim i As Long
Dim selectedRange As Range
For i = 0 To 1 ' 예를 들어 2번까지 루프를 돌리는 경우
' 첫 번째 범위 선택
Set selectedRange = Range("B" & 6 + (i * 22) & ":E" & 16 + (i * 22))
selectedRange.Select
' 두 번째 범위 추가 선택 (Ctrl 키를 누른 채로)
Set selectedRange = Union(selectedRange, Range("I" & 6 + (i * 22) & ":L" & 16 + (i * 22)))
selectedRange.Select ' 이전 선택 범위를 유지
Next i
End Sub
전체 13,315
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
[📚교재 출간 안내] 「진짜쓰는 실무엑셀」 , 드디어 출간되었습니다! (235)
![]() ![]() |
![]() ![]() |
2022.02.03 | 514 | 259656 | ||
공지사항 | 문서서식 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(197)
오빠두엑셀
|
2021.10.28
|
추천 280
|
조회 17725
|
![]() ![]() |
2021.10.28 | 280 | 17725 |
64387 | VBA |
New 아실 크롤링 관련 문의
(1)
![]() |
![]() |
2023.11.30 | - | 21 |
64384 | VBA |
New VBA PivotItem 문의
(1)
![]() |
![]() |
2023.11.30 | - | 17 |
64382 | 파워쿼리/피벗 |
New [파워쿼리] 쿼리안에서 구분기호 기준으로 열분할을 하고 난 후, 아래로 채우기가 안됩니다.!!
(2)
답변완료
![]() |
![]() |
2023.11.30 | - | 25 |
64381 | 함수/공식 |
New row()가 자동으로 변경될 수 있도록....
![]() ![]() |
![]() |
2023.11.30 | - | 29 |
64377 | 피벗테이블 |
New 엑셀 피벗 행/열 비율 산출 질문
(1)
![]() |
![]() |
2023.11.30 | - | 16 |
64376 | VBA |
New 견적서 내용을 리스트업 하는 VBA
![]() ![]() ![]() |
![]() |
2023.11.30 | - | 29 |
64371 | 구글시트 |
New 두 개 시트 연동
(1)
![]() |
![]() |
2023.11.30 | - | 25 |
64370 | 함수/공식 |
New 모든시트를 선택하는 함수가 있을까요?ㅠㅠ
(1)
![]() |
![]() |
2023.11.30 | - | 36 |
64367 | VBA |
New 특정셀에 여러 변수 값을 대입하여 나오는 계산 값을 변수에 맞게 한번에 출력되게 하는 방법이 있을까요??
![]() ![]() ![]() |
![]() |
2023.11.30 | - | 33 |
64366 | 문서서식 |
New 전체인쇄와 시트1개 인쇄시 이미지 품질 저하문제
![]() ![]() |
![]() |
2023.11.30 | - | 18 |
64360 | 함수/공식 |
New 각 열의 텍스트를 비교하여 일치율에 따라 관련열 값 가져오기
![]() ![]() |
![]() |
2023.11.30 | - | 34 |
64359 | 구글시트 |
New 엑셀 또는 구글시트 - 다른시트 데이터의 새로운값만 순차적으로 가져오는방법..
(3)
![]() |
![]() |
2023.11.30 | - | 25 |
64355 | 함수/공식 |
New sumifs 문의 드립니다.
(2)
답변완료
![]() |
![]() |
2023.11.30 | - | 29 |
64353 | 함수/공식 |
New 엑셀 수식이 안 먹어요~
![]() ![]() |
![]() |
2023.11.30 | - | 43 |
64352 | VBA |
New 명령단추 클릭시 색상변경
![]() ![]() ![]() |
![]() |
2023.11.30 | - | 32 |
64351 | VBA |
New Sendkey 초기화 관련 문의
(1)
![]() |
![]() |
2023.11.30 | - | 24 |
64350 |
New 대출금리 자동계산수식 여쭤봅니다
(2)
![]() |
![]() |
2023.11.30 | - | 22 | |
64340 | 함수/공식 |
New 셀 값을 변경하는 수식 사용 중에 작동이 안돼서 문의드립니다.
![]() ![]() |
![]() |
2023.11.30 | - | 33 |
64333 | 함수/공식 |
New 실시간 데이터 연동 방법 좀 알려주실 수 있나요??
(2)
![]() |
![]() |
2023.11.30 | - | 45 |
64329 | 함수/공식 |
New IF와 VLOOKUP을 같이써서 처리를 해야하는 셀인데 어떻게 해야 맞는지 모르겠네요 ㅠㅠ...
![]() ![]() |
![]() |
2023.11.29 | - | 60 |
64327 | 함수/공식 |
New 몇주째 도저히 모르겠습니다ㅜㅜ 일별/주간/월별 데이터 불러올 함수 알려주실분 꼭 부탁드립니다.
![]() ![]() |
![]() |
2023.11.29 | - | 87 |
64326 | 구글시트 |
New 엑셀이나 구글시트에서 특정 데이터를 입력하면 표시,금지 할수있는 방법을 알수있을까요 ?
(3)
![]() |
![]() |
2023.11.29 | - | 41 |
64325 | 함수/공식 |
New 엑셀함수관련 문의드립니다 기초적인부분이지만 해결방법이 궁금합니다
![]() ![]() |
![]() |
2023.11.29 | - | 49 |
64320 | 파워쿼리/피벗 |
New 파워쿼리 엑셀 파일 불러오기 액세스 거부 ㅜㅠ
![]() ![]() |
![]() |
2023.11.29 | - | 41 |
64317 | VBA |
New 집계함수를 반영하니 계산시간이 많이 걸립니다 다른방법이 없는지요
![]() ![]() |
![]() |
2023.11.29 | - | 63 |
64316 | 문서서식 |
New 조건부서식 하나가 막히는 데 도와주세요
![]() ![]() |
![]() |
2023.11.29 | - | 50 |
64312 | 함수/공식 |
New 특정 텍스트 추출
![]() ![]() ![]() |
![]() |
2023.11.29 | - | 74 |
64311 | 함수/공식 |
New 함수 문의
![]() ![]() |
![]() |
2023.11.29 | - | 53 |
64310 | 함수/공식 |
New 기간 중복을 제외하고 주당 사용 일수 계산 문의드립니다.
![]() ![]() ![]() |
![]() |
2023.11.29 | - | 30 |
64294 | 함수/공식 |
New 표준편차 계산시 특정월의 데이터만 계산하고 싶습니다
![]() ![]() ![]() |
![]() |
2023.11.29 | - | 39 |
자문 자답이 되었네요
Sub 셀선택()
Dim ws As Worksheet
Dim selectedRange As Range
Dim i As Integer
' 현재 활성화된 시트를 가져옴
Set ws = ActiveSheet
' 규칙적인 범위를 선택
For i = 0 To 4200 Step 22
' 현재 선택된 범위와 새로운 범위를 합침
If selectedRange Is Nothing Then
Set selectedRange = ws.Range("B6:D16, I6:K16").Offset(i, 0)
Else
Set selectedRange = Union(selectedRange, ws.Range("B6:D16, I6:K16").Offset(i, 0))
End If
Next i
' 선택한 범위를 강조 표시
If Not selectedRange Is Nothing Then
selectedRange.Select
End If
End Sub
@짜장좋아 님 이렇게 하셔도 됩니다.
@짜장좋아 님 샘플과 함께 무얼하고 싶은지 질문해보세요..~
@마법의손 님 문의 글 남기고 이래저래 고민하다 해결 했습니다.
다음에는 자세히 설명 해서 문의 하도록 하겠습니다.
시간 내 주셔서 감사합니다.
@짜장좋아 님 Range의 Address를 받아와서 아래처럼 작성해보십시오.
RngAddress = RngAddress & "," & selectedRange.Address
Range(RngAddress).Select
@더블유에이 님 이렇게 사용하실 경우 Range( "셀범위" ) 에서 "셀범위"는 255(?)자를 넘길 수 없어서
구역이 많은 경우에 에러가 발생할 수 있습니다.
@더블유에이 님 알려 주신 것 처럼 했는데, 의도대로 되지 않아 자문 자답으로 처리 했습니다.
시간 내 주셔서 감사합니다.