if문을 for문으로 변경하고 싶습니다.

VBA
작성자
KalLi
작성일
2020-09-09 19:22
조회
49
If Weapon_OptionVal = 0 Then

Range("P3:P7").Locked = True
Range("P3:P7").Interior.ColorIndex = 16

Range("P3:P7").Value = "비활성화"
Range("P3:P7").Font.Color = RGB(255, 255, 255)

ElseIf Weapon_OptionVal = 1 Then

Range("P4:P7").Locked = True
Range("P4:P7").Interior.ColorIndex = 16

Range("P4:P7").Value = "비활성화"
Range("P4:P7").Font.Color = RGB(255, 255, 255)

ElseIf Weapon_OptionVal = 2 Then

Range("P5:P7").Locked = True
Range("P5:P7").Interior.ColorIndex = 16

Range("P5:P7").Value = "비활성화"
Range("P5:P7").Font.Color = RGB(255, 255, 255)

ElseIf Weapon_OptionVal = 3 Then

Range("P6:P7").Locked = True
Range("P6:P7").Interior.ColorIndex = 16

Range("P6:P7").Value = "비활성화"
Range("P6:P7").Font.Color = RGB(255, 255, 255)

ElseIf Weapon_OptionVal = 4 Then

Range("P7:P7").Locked = True
Range("P7:P7").Interior.ColorIndex = 16

Range("P7:P7").Value = "비활성화"
Range("P7:P7").Font.Color = RGB(255, 255, 255)

End If

 

해당 반복문을 for문으로 변경이 가능할까요?

range 부분의 값이 증가하는데 어떻게 해야 할지 몰라서 문의 드려봅니다.
전체 4

  • 2020-09-09 19:25

    제가 하고자 하는 것이 특정 셀 값에 따라 특정 범위를 잠그고 사용하지 못하게 하는 기능입니다.


    • 2020-09-10 01:56
      For i = 0 to 4
      
      Range("P"&i+3&":P7").Locked = True
      Range("P"&i+3&":P7").Interior.ColorIndex = 16
      
      Range("P"&i+3&":P7").Value = "비활성화"
      Range("P"&i+3&":P7").Font.Color = RGB(255, 255, 255)
      
      Next

      위와 같이 변경하시면 될 듯 합니다.

      답변이 도움이 되셨길 바랍니다.


      • 2020-09-10 14:03

        답변 감사합니다.

        다름이 아니라

        Range("P"&i+3&":P7").Locked = True
        Range("P"&i+3&":P7").Interior.ColorIndex = 16
        
        Range("P"&i+3&":P7").Value = "비활성화"
        Range("P"&i+3&":P7").Font.Color = RGB(255, 255, 255)

        이 부분이 빨갛게 변한 후 "구문 오류"라고 오류창이 뜨고 진행이 되지 않는데 어떤 이유에서인지 모르겠습니다. 아시는 것이 있다면 답변 부탁드립니다.


        • 2020-09-10 14:20

          안녕하세요.

          각 & 기호 양 옆으로 띄어쓰기를 추가해주시면 됩니다.

          For i = 0 To 4
          
          Range("P" & i + 3 & ":P7").Locked = True
          Range("P" & i + 3 & ":P7").Interior.ColorIndex = 16
          
          Range("P" & i + 3 & ":P7").Value = "비활성화"
          Range("P" & i + 3 & ":P7").Font.Color = RGB(255, 255, 255)
          
          Next

      전체 1,171
      번호 카테고리제목작성자작성일추천조회
      1167 차트/그래프
      New 동적범위를 이용한 날짜 합계 구하는 함수 문의 (1)
      째쨈 | 00:40 | 추천 0 | 조회 10
      째쨈00:40010
      1166 피벗테이블
      New 대량의 두개의 데이터를 합친후 데이터수정 및 합계결과 뽑아내는법이 궁금합니다 (1)
      자유인 | 00:35 | 추천 0 | 조회 11
      자유인00:35011
      1165 VBA
      New VBA 여러개 시트를 활용한 피벗데이블 질문 첨부파일 (1)
      sundaychefchef | 2020.09.23 | 추천 0 | 조회 18
      sundaychefchef2020.09.23018
      1164 VBA
      New if문의 조건에 대해 질문드립니다. (1)
      엑셀늅늅이 | 2020.09.23 | 추천 0 | 조회 15
      엑셀늅늅이2020.09.23015
      1163 함수/공식
      New 엑셀 배열을 합칠 수 있는 방법이 있을까요? (1)
      나그네 | 2020.09.23 | 추천 0 | 조회 19
      나그네2020.09.23019
      1162 함수/공식
      New 경우의 수 관련 질문드립니다. (2)
      speedoo | 2020.09.23 | 추천 0 | 조회 15
      speedoo2020.09.23015
      1161 함수/공식
      New 데이터 뽑기 첨부파일 (1)
      soung**** | 2020.09.23 | 추천 0 | 조회 22
      soung****2020.09.23022
      1160 VBA
      New 기초적인 질문 하나만 할께요 2차원 배열에서 range값을 배열로 받아서 다른 시트에 배열 붙여넣는 방법이 어떻게 되나요 (1)
      밍장군 | 2020.09.23 | 추천 0 | 조회 11
      밍장군2020.09.23011
      1159 VBA
      New (VBA) 도형서식 -> 채우기 -> 그림 또는 질감 채우기 -> 다음에서 그림 삽입 -> 클립보드 선택 구현 (1)
      건주 | 2020.09.23 | 추천 0 | 조회 21
      건주2020.09.23021
      1158 VBA
      New 엑셀이서도 검색어 자동완성기능을 구현할 수 있을까요? 첨부파일 (1)
      fre | 2020.09.23 | 추천 0 | 조회 21
      fre2020.09.23021
      1157 차트/그래프
      New 차트 최대값 및 Xfilter 함수 문의드립니다. (1)
      Elkins | 2020.09.23 | 추천 0 | 조회 19
      Elkins2020.09.23019
      1156 VBA
      New WorkSheet_Change 와 같은 사용자 정의 함수를 만드는 방법은 없나요? (1)
      엑셀늅늅이 | 2020.09.22 | 추천 0 | 조회 25
      엑셀늅늅이2020.09.22025
      1155 파워쿼리/피벗
      New 상단바가 잠금 걸렸는데 왜이러는지 모르겠습니다. 첨부파일 (4)
      신윤재 | 2020.09.22 | 추천 1 | 조회 25
      신윤재2020.09.22125
      1154 문서서식
      New 이미지 삽입 후 크기를 조절해도 압축되지 않고 원본 해상도 유지하는 방법? (5)
      악순환의 굴레 | 2020.09.22 | 추천 0 | 조회 24
      악순환의 굴레2020.09.22024
      1153 VBA
      New application.ontime 실행 시 멈추는 함수가 동작을 하지 않습니다 (재 질문, 오빠두 님 말대로 코드 수정 완료) - VBA 명령문 매 초마다 반복 (3)
      밍장군 | 2020.09.22 | 추천 0 | 조회 20
      밍장군2020.09.22020
      1152 함수/공식
      New 절대주소 고정했는데 셀 삽입하면 고정이 안되네요? (1)
      해랑사 | 2020.09.22 | 추천 0 | 조회 39
      해랑사2020.09.22039
      1151 기능/도구
      New 셀서식 왕초보 질문입니다! (3)
      Hannah | 2020.09.22 | 추천 0 | 조회 27
      Hannah2020.09.22027
      1150 VBA
      New 전역변수로 포맷까지 지정할 순 없나요? (2)
      밍장군 | 2020.09.22 | 추천 0 | 조회 19
      밍장군2020.09.22019
      1149 문서서식
      New 90일습관을 위한 엑셀 시트를 만들고 싶습니다. (3)
      파파깡 | 2020.09.22 | 추천 0 | 조회 36
      파파깡2020.09.22036
      1148 피벗테이블
      New 피벗으로 누적 데이터를 취하고 당일 실적을 별도로 뽑아서 (1)
      넘버원수박 | 2020.09.21 | 추천 0 | 조회 28
      넘버원수박2020.09.21028
      1147 함수/공식
      New 월별로 생산수량 나누기 첨부파일 (4)
      ejrdn**** | 2020.09.21 | 추천 0 | 조회 49
      ejrdn****2020.09.21049
      1146 함수/공식
      New 날짜 관련 데이터 추출 질문 드립니다. 첨부파일 (2)
      kh**** | 2020.09.21 | 추천 0 | 조회 32
      kh****2020.09.21032
      1145 VBA
      New 마지막 수정한 폴더이름 변수에 넣으려는데 오류가 나네요 (2)
      밍장군 | 2020.09.21 | 추천 0 | 조회 25
      밍장군2020.09.21025
      1144 함수/공식
      New 품목 중 중복인 항목의 각각 다른 특정값 합치는 방법? 첨부파일 (3)
      악순환의 굴레 | 2020.09.21 | 추천 0 | 조회 36
      악순환의 굴레2020.09.21036
      1143 함수/공식
      New DDE 함수 내에 다른 셀에 있는 코드를 불러서 변수로 사용하는방법 좀 알려 주세요 ~ 첨부파일
      아이콘 | 2020.09.21 | 추천 0 | 조회 24
      아이콘2020.09.21024
      1142 함수/공식
      New OFFSET 함수 ㅜㅜ 첨부파일 (1)
      gudwns**** | 2020.09.21 | 추천 0 | 조회 36
      gudwns****2020.09.21036
      1141 VBA
      New 엑셀 VBA 파일 합치기 질문드려요.. 첨부파일 (1)
      박상억 | 2020.09.21 | 추천 0 | 조회 24
      박상억2020.09.21024
      1140 함수/공식
      New 엑셀 SUM 관련 ㅠㅠ .. 첨부파일 (1)
      gudwns**** | 2020.09.21 | 추천 0 | 조회 43
      gudwns****2020.09.21043
      1139 함수/공식
      New '지정한 수식에서 현재 파일 형식에 허용되는 것보다 많은 중첩 수준을 사용하므로 수식을 업력할 수 없습니다.'메세지가 뜨네요! (1)
      러브포토맨 | 2020.09.21 | 추천 0 | 조회 21
      러브포토맨2020.09.21021
      1138 VBA
      New active x 체크박스 크기와 체크 색상 관련 질문 드립니다. 첨부파일 (2)
      신윤재 | 2020.09.21 | 추천 0 | 조회 21
      신윤재2020.09.21021