2010-06-22 3 views
-1

나의 과제는 409 포인트 행보다 길지만 인쇄하고 표시 할 텍스트를 얻는 것입니다. 내가 작업하고있는 시트는 자주 바뀔 수있는 소스 시트의 대상 시트이지만 일반적으로 15 개의 셀 중 1 개에서만이 문제를 나타냅니다. 셀 매개 변수는 고정되어 있으므로 글꼴이나 열 너비를 변경할 수 없습니다.409 pts 이상의 행에 텍스트를 표시하려면 어떻게해야합니까?

스프레드 시트에서 하나 이상의 행을 삽입하고 필요한 셀을 병합하고 셀 높이를 높이기 위해 행 높이를 변경하는 매크로를 만들었지 만 IF ... END IF을 트리거 할 수있는 행 수가 408 개를 초과 할 때 사용할 수 있습니까? 매크로?

Excel 2007을 사용 중입니다.

답변

1

매크로 기록 및 행 크기 변경을 시도해보십시오. 그런 다음 매크로가 생성하는 VBA 코드를 검사하여 행의 크기가 코드에서 생성되는 방식을 확인합니다.

VBA 코드는 픽셀을 사용하지 않으므로 변환을 수행하여 409 픽셀을 찾아야합니다. 그런 다음 루프를 사용하여 셀 높이가 특정 값보다 큰 모든 행을 찾을 수 있습니다.

Dim lng As Long 
lng = 1 
Do While Not IsEmpty(Range("A" & lng).Value) 
    If Rows(lng).RowHeight >= 306.75 Then 
    'Insert the code to add a new row here. When looking at the ' 
    'code in your macro, you can replace the row number (e.g. the "18:18" in ' 
    'Rows("18:18") with the counter variable, lng, like so: Rows(lng).... ' 
    'If you want the *following* row, use Rows(lng+1) instead. 
    '' 
    'I'm not sure of the command to insert a new row, but if you do insert a ' 
    'new row, watch your counter. You may need to add an additional ' 
    'lng = lng + 1 into your code to account for the newly added row.' 
    End If 
    lng = lng + 1 
Loop 
+0

우수 감사합니다. 그게 내 매크로 높이를 기반으로 모든 행을 찾으십시오. 이제 추가 질문 : 409pts 이상의 각 행 아래에 새 행을 추가하도록 매크로를 얻으려면 어떻게해야합니까? 내 의도는 409 개 이상의 각 행을 찾고, 아래에 한 행을 삽입하고, 두 행을 모두 409 개 높이로 변경하고 "오버 텍스트 된"셀을 병합하는 것입니다. 추가, 크기 및 병합을 수행 할 수 있으며 각 행을 찾도록 도와 주지만 내 매크로는 발견 된 각 행 아래가 아닌 매크로를 작성한 (기록 된) 새 행을 넣기를 원합니다. 내 "행"(18:18 ")을 변경하려면 어떻게해야합니까?"행 "을 선택하십시오 (각각 발견됨). 다시 한 번 감사드립니다. – Kirk

+0

@Kirk 내 대답에 내 추가 의견을 참조하십시오. 기본적으로 매크로의 하드 코드 된 행 번호 대신 변수 이름을 사용할 수 있습니다. 예를 들어, 예제 코드에서,'Rows()'함수에 피드하기 위해'lng' 변수의 값을 사용하는'Rows (lng)'를 사용했습니다. 행을 사용하여 작업하고 있는지 확인하려면 해당 번호로 게임을해야 할 수도 있습니다. –

관련 문제