vba is nothing 관련 질문
안녕하세요.
현재 업무 부분적으로 필요한 vba를 작성하고 있습니다.
여기저기 참고해서 제가 직접적으로 하는 코드들도 있지만,
간혹 감사하게도 제 질의에 전체적으로 해결 할 수 있는 코드를 통으로 제공해주시는 분들도 계셔서 덕분에 업무와 공부에 참고가 많이되고 있습니다.
하기 코드는 그리 어렵지 않은 코드로 C열과 L열에 "적립" 과 "택배" 라는 문구가 들어가 있으면 삭제하는 코드 입니다.
다른부분들은 전부 해석이 되는데
if delRange Is Nothing then 이부분이 해석이 잘 안됩니다.
제가 잘 몰랐던 부분은 주석을 달아놨고, 위에 언급한 Nothng 부분관련해서
주석이 틀린부분과 Nothing 해석이 맞는지,, 설명해주실 수 있을까요?
또한 하기 Nothing의 해석이 맞다면 delRange = "" 이런식으로 비어있는 경우로 코드를 작성하는 경우 에러가 나는데
이부분은 Range 개체는 범위이고, "" 부분은 값이기 때문에 안되는 것 일까요?
Dim delRange As Range
n = Range("A1").CurrentRegion.Rows.Count
For i = 3 To n
If InStr(1, Cells(i, "C") & Cells(i, "L"), "적립") Or InStr(1, Cells(i, "C") & Cells(i, "L"), "택배") Then
If delRange Is Nothing Then '' delRange가 비어있으면 delRange 값 세팅 (초기값)
Set delRange = Cells(i, "A")
Else
Set delRange = Union(delRange, Cells(i, "A")) ''삭제 할 범위를 계속해서 집어 넣음
End If
End If
Next
If Not delRange Is Nothing Then ''delRange가 비어있지 않은 경우 delRange에 들어가 있는 범위 삭제
delRange.EntireRow.Delete
End If
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (313)
![]() ![]() |
![]() ![]() |
2022.02.03 | 573 | 601111 | ||
공지사항 | 문서서식 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(197)
오빠두엑셀
|
2021.10.28
|
추천 310
|
조회 34977
|
![]() ![]() |
2021.10.28 | 310 | 34977 |
78431 | VBA |
New IF 조건문 기초 질문 드립니다.
![]() ![]() |
![]() |
00:46 | - | 73 |
78428 | 기능/도구 |
New 보이는 범위의 셀로만 붙여넣기하는 법
![]() ![]() |
![]() |
2025.04.29 | - | 90 |
78424 | 함수/공식 |
New 생년월일 6자리로 나이 계산 어떻게 하나요?
(7)
![]() |
![]() |
2025.04.29 | - | 98 |
78421 | 함수/공식 |
New INDEX + MATCH 함수 문의
(2)
![]() |
![]() |
2025.04.29 | - | 93 |
78420 | 함수/공식 |
New 여러시트 중에 같은내용을 찾기
![]() ![]() ![]() |
![]() |
2025.04.29 | - | 76 |
78419 | 문서서식 |
New 크기가 다른 셀에서의 필터 걸기 부탁드립니다 !
![]() ![]() |
![]() |
2025.04.29 | - | 64 |
78418 | 함수/공식 |
New [퀴즈] 텍스트 압축/변형하기
![]() ![]() ![]() |
![]() |
2025.04.29 | - | 123 |
78416 | VBA |
New 시트보호된 상태에서 매크로 작동시 Range 클래스 중 Insert 메서드에 오류가 있습니다.
![]() ![]() |
![]() |
2025.04.29 | - | 54 |
78414 | 파워쿼리/피벗 |
New 다른 엑셀 파일에서 필요한 값만 불러오는 방법
![]() ![]() |
![]() |
2025.04.29 | - | 63 |
78413 | 함수/공식 |
New 경과주 구하는 수식 문의
(1)
![]() |
![]() |
2025.04.29 | - | 63 |
78411 | 문서서식 |
New 숫자 문자인식 숫자변환하는 법
![]() ![]() |
![]() |
2025.04.29 | - | 75 |
78410 | VBA |
New [매크로관련] 특정셀 자동증가하며, 연속출력할수 있을까요?
![]() ![]() |
![]() |
2025.04.29 | - | 88 |
78408 | 문서서식 |
New 숫자 서식 변경하기
![]() ![]() |
![]() |
2025.04.29 | - | 65 |
78407 | 기능/도구 |
New 원드라이브 MICROSOFT 365 사용중 공동작업시 필터
![]() ![]() |
![]() |
2025.04.29 | - | 58 |
78402 | 함수/공식 |
New 괄호안의 시간:분 데이터를 분으로 합산하는 방법 질문드립니다.
![]() ![]() ![]() |
![]() |
2025.04.28 | - | 69 |
78400 | 함수/공식 |
New 2차배열에서 countif
![]() ![]() |
![]() |
2025.04.28 | - | 92 |
78399 | 함수/공식 |
New 한달의 마지막주 스케쥴 작성시 전주까지의 휴무 누적 합계 구하는 방법이 궁금합니다.
![]() ![]() ![]() |
![]() |
2025.04.28 | - | 55 |
78398 | VBA |
New VBA 매크로 여러 엑셀 파일에서 사용
(1)
![]() |
![]() |
2025.04.28 | - | 86 |
78396 | 함수/공식 |
New 직원별로 근태 합계를 확인하고 싶어요
![]() ![]() |
![]() |
2025.04.28 | - | 118 |
78395 | 함수/공식 |
New 특정 단어를 포함한 행 골라내는 방법에 대해 문의드립니다.
(3)
답변완료
![]() |
![]() |
2025.04.28 | - | 78 |
78392 | 함수/공식 |
New 도와주세요... ( 특정값에 해당하는 반 번호 찾아 목록만들기)
![]() ![]() ![]() |
![]() |
2025.04.28 | - | 84 |
78389 | 기능/도구 |
New 오빠두LIVE 196회 - 엑셀 프로젝트 관리 _ 일,주 바꾸는법
![]() ![]() |
![]() |
2025.04.28 | - | 73 |
78387 | 함수/공식 |
New 엑셀 관련 질문입니다. SUM과 IFERROR 입니다 ㅠ
(6)
![]() |
![]() |
2025.04.27 | - | 119 |
78382 |
New Excel 추세선 이상
![]() ![]() |
![]() |
2025.04.27 | - | 89 | |
78381 | 함수/공식 |
New 같은 이름 N 번째 데이터
![]() ![]() ![]() |
![]() |
2025.04.27 | 1 | 124 |
78380 | 함수/공식 |
New On Error Resume Next 문구를 삽입하는 위치는?
(2)
답변완료
![]() |
![]() |
2025.04.27 | - | 94 |
78376 | 함수/공식 |
New 지역별 증감금액 확인
![]() ![]() |
![]() |
2025.04.26 | - | 86 |
78374 | 함수/공식 |
New index를 활용한 조건에 맞는 금액을 찾는 방법
![]() ![]() ![]() |
![]() |
2025.04.26 | - | 106 |
78372 | 기능/도구 |
New 표서식 차이 문의
![]() ![]() |
![]() |
2025.04.25 | - | 74 |
78370 | 피벗테이블 |
New (피벗테이블) 2024년 2025년 판매 TOP10 비교데이터
![]() ![]() |
![]() |
2025.04.25 | - | 109 |
@채원석 님 For,,, Next 순환문에서 첫번째 IF 문이 참일 때,
아래 코드를 바로 실행하면 delRange가 Nothing이라서 오류가 납니다.
Set delRange = Union(delRange, Cells(i, "A"))
그래서 첫번째 실행시 delRange가 Nothing일 때는 Union을 안쓰고 그냥 지정하는 것입니다.
@원조백수 님 아, 초기화 해주는 개념이 아니라 값을 할당해줘야만해서 하는거군요,,! 알려주셔서 감사합니다 !!