2013-01-21 4 views
2

세 개의 열이 있습니다. 하나에는 테이블의 이름이 있고 두 번째 열에는 여유 공간이 있고 세 번째 열에는 사용 된 비율이 있습니다. 필요한Excel에서 여러 열의 값을 표시하는 메시지 상자

도움은 다음과 같습니다

  1. MSGBOX 그것 또한 이상 90
  2. 는 해당 테이블과 여유 공간의 이름을 표시해야을 발견 한 셀에 백분율 USED 컬럼의 값을 표시한다 1 번째의 값을 표시하고있는 테이블

MSGBOX 출력은 다음과 같아야합니다 "ABCD 테이블은 96.67 %, 사용 공간의 왼쪽은 다음과 같습니다 7천4백31메가바이트"

사용 전용 테이블 이름과 비율 표시

샘플 코드 :

Dim rngValues As Range 
Dim strTableName As String 
Dim cell As Range 

' Adjust ranges to suit 
Set rngValues = [JI3:JI90] 
For Each cell In rngValues 
     If cell.Value > 94.45 Then 
     cell.Select 

     MsgBox Range(cell.Address).Offset(0, -268).Value _ 
     & " table has current size: " & cell.Value 
     cell.Interior.Color = RGB(255, 0, 0) 

     End If 

샘플 출력을 ABCD 테이블의 현재 크기 : 97.87 %

답변

2

이 문제를 해결하는 한 가지 방법은 두 번째 Range(cell.Address).Offset().Value 문을 사용하여 텍스트 정보에 추가 정보를 추가하는 것입니다 메시지 상자에 표시된 메시지. 정확한 코드는 왼쪽의 여유 공간을 나타내는 열 'JI'에서 얼마나 많은 열이 떨어져 있는지에 따라 달라집니다.

당신이 다음 할 수있는 사용 %의 공간을 포함하는 하나 전에 열이라고 가정 : 그것은 %의 공간을 포함하는 하나 전에 열이없는 경우

MsgBox Range(cell.Address).Offset(0, -268).Value _ 
    & " table has current size: " & cell.Value _ 
    & " and the space left is: " & Range(cell.Address).Offset(0, -1).Value 

사용 당신은 단순히 필요 Range(cell.Address).Offset(0,-1).Value의 열 오프셋을 올바르게 조정하십시오. 예를 들어 사용 가능한 공간이있는 열이 발생하면 JI 열이 9 열 뒤에 변경됩니다. Offset(0,9)

Offset의 괄호 사이의 첫 번째 인수는 두 번째 열의 수입니다. 음수 오프셋은 선택한 셀 앞에 나타나는 행 또는 열을 지정하고, postivive는 선택한 셀 뒤에 나타나는 행 또는 열을 지정합니다. '0'은 현재 행이나 열을 지정합니다.

+0

감사합니다. 글렌 ... – user1728174

관련 문제