excel vba 하 이 라이트 현재 줄 코드 표시

코드:
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names.Add "XM", Target
End Sub
이 몇 줄 의 코드 는 새로운 셀 을 선택 할 때 이 셀(또는 영역)을'XM'이 라 고 정의 하고 조건 형식 설정 에서 이 이름 을 참조 할 수 있 습 니 다.아래 첨부 파일 과 같이 코드 를 붙 여 넣 은 후 워 크 시트 로 돌아 가 A4:I15 를 선택 하고 메뉴'형식-조건 형식'을 클릭 하 십시오.설정:공식 1:=(A4<>)*(A4=XM)(A4 가 비어 있 지 않 고 A4 가 XM 과 같다 면)공식 2:=ROW()=ROW(XM)(현재 줄 번호 가 XM 의 줄 번호 와 같다 면)코드 로 이름 을 정의 합 니 다.우 리 는 즉시 업데이트 가 필요 합 니 다.마우스 로 무엇 을 눌 러 야 합 니까?이 이름"XM"은 무엇 을 업데이트 합 니까?예 를 들 어 F7 셀 을 마우스 로 클릭 하면 XM 은 F7,ROW(XM)=7 과 같 고 조건 형식 을 설정 한 영역 에 서 는 Row()가 7(말하자면 7 줄)과 같은 셀 이 배경 색 을 표시 합 니 다.수 동 으로 정의 해도 같은 효 과 를 얻 을 수 있 으 니 해 보 세 요.그리고 코드 를 사용 하 는 장점 이 무엇 인지 비교 해 보 세 요.B6 셀 을 선택 하면 다른 상황 이 발생 합 니 다.영역 에 두 가지 조건 형식 이 설정 되 어 있 기 때 문 입 니 다.첫 번 째 조건 에 맞 으 면 첫 번 째 형식 을 표시 하고 두 번 째 조건 에 맞 으 면 두 번 째 형식 을 표시 합 니 다.메뉴'형식-조건 형식'을 누 르 면 잘 볼 수 있 습 니 다.초학 에 문제 가 하나 있 습 니까?하 이 라이트 디 스 플레이 셀 을 자동 으로 시작 하 는 매크로 로 만 들 수 있 습 니까?사용자 의 마우스 가 워 크 시트 의 한 셀 을 클릭 한 후에 해당 하 는 줄 과 열 은 하나 또는 두 가지 배경 색 을 표시 합 니 다!VBA 로 배경 색 을 직접 설정 합 니 다.방법 은 다음 과 같 습 니 다.마우스 우 클릭 으로 워 크 시트 탭 을 클릭 하고'코드 보기'를 선택 하여 아래 코드 를 커서 에 붙 입 니 다.코드:
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rng As Range
Set Rng = Target.Range("a1")
Cells.Interior.ColorIndex = 0 '
Rng.EntireColumn.Interior.ColorIndex = 40 '
Rng.EntireRow.Interior.ColorIndex = 36 '
End Sub
그 중에서 40,36 은 색상 색인 번호 이 고 서로 다른 수 치 는 서로 다른 색상 을 대표 합 니 다.해당 색인 은 다음 과 같 습 니 다.워 크 북 의 모든 워 크 시트 가 같은 효과 가 있다 면 어떻게 해 야 합 니까?Alt+F11 을 누 르 면 VBE 편집 기 를 엽 니 다.프로젝트 관리자 에서 모듈'ThisWorkbook'을 더 블 클릭 하여 아래 코드 를 커서 에 붙 입 니 다.코드:
 
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim Rng As Range
Set Rng = Target.Range("a1")
Cells.Interior.ColorIndex = 0 '
Rng.EntireColumn.Interior.ColorIndex = 40 '
Rng.EntireRow.Interior.ColorIndex = 36 '
End Sub
이 코드 를 사용 한 후에 표 의'복사'와'복사'기능 이 금지 되 었 습 니 다.해결 할 방법 이 있 을 지 모 르 겠 습 니 다.코드 두 번 째 줄(색상 지우 기 전에)에 코드 를 삽입 할 수 있 습 니 다:If application.CutCopyMode Then Exit Sub'선택 상태 에 있 으 면 프로그램 코드 를 종료 합 니 다:
 
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Application.CutCopyMode Then Exit Sub '
Dim Rng As Range
Set Rng = Target.Range("a1")
Cells.Interior.ColorIndex = 0 '
Rng.EntireColumn.Interior.ColorIndex = 40 '
Rng.EntireRow.Interior.ColorIndex = 36 '
End Sub

좋은 웹페이지 즐겨찾기