2014-05-16 5 views
0

스프레드 시트 어딘가에 b3 : f15와 같은 표가 있고 그 근처에 아무것도 (공백 셀)이 표와 색상을 선택하려고합니다. 그것. 어떻게 든 내 코드가 작동하지 않고 논리 오류를 찾을 수 없습니다.주어진 셀에서 표 찾기

Sub colorize_table() 
    Dim temp As Range 
    Set temp = Application.InputBox(prompt:="Please choose cell", Type:=8) 
    Dim i As Integer, k As Integer 
    Dim r As Integer, p As Integer 
    i = temp.Row 
    k = temp.Column 
    r = temp.Row 
    p = temp.Column 
    While temp(i, k) <> "" 
     While temp(i, k) <> "" 
      i = i - 1 
     Wend 
     k = k - 1 
    Wend 
    While temp(r, p) <> "" 
     While temp(r, p) <> "" 
      r = r + 1 
     Wend 
     p = p + 1 
    Wend 
    Set temp = Range(Cells(i-1, k-1).Address, Cells(r+1, p+1).Address) 
    temp.Interior.ColorIndex = 36 
End Sub 

제안 사항? 당신의 While/Wend 루프가 작동하는 경우

답변

3

... 당신의 코드가 훨씬 간단하게 할 수에서 사용 : 대신 루프의

temp.CurrentRegion.Interior.ColorIndex = 36 

.

+0

+1 'CurrentRegion'은 여기에서 정말 유용한 접근 방법입니다. –

+0

그러나 온도는 단일 셀로 정의됩니다. 어떻게 작동할까요? – ygaft

+0

@ygaft 시도해보십시오. CurrentRegion은 키보드에서 Ctrl + *와 동일합니다. – avb

0

, 당신은이 같은 tempRange 변수를 설정할 수 있습니다 사전에 감사 : 이미 입력 사용자에게 메시지를 표시하고 말했다되고 그건

Set temp = Range(Cells(i-1, k-1), Cells(r+1, p+1)) '<~ no address needed 

을 - 당신이 할 수 테이블에 왼쪽 위 셀을 입력하도록 요청하십시오.

관련 문제