2013-09-06 3 views
-2

Excel 매크로를 만들려고합니다. 행을 어떻게 변하게 할 수 있습니까? 그것은 A6, A7, A8로 증가해야합니다 ... 나는 colums 변수를 알고 있지만 행을 위해 그것을 할 수 없습니다. 다음은 코드에서 몇 줄입니다.Excel 매크로 행 변수

For profnum = 1 To 100 
    Range("A6").Select.Offset(1 + (profnum - 1) * 1, 0).Select 

나는 100 개가 넘는 그래프 프로필을 가지고 있습니다. 모든 프로필에는 x 및 y 값이 있습니다. 그리고 나는 아래 그림과 같이 504 (x와 y 값의 수)를 504로 변경했다. 하지만 200 회 또는 500 회 반복하는 것은 매우 어렵고 시간이 너무 오래 걸립니다. 매크로로 어떻게 만들 수 있습니까?

=SERİLER("file44.txt";main_excel!$ED$4:$ED$504;main_excel!$EE$4:$EE$504;45) 
+1

"열을 가변으로"하는 예를 들려 줄 수 있습니까? 또한, Range ("A6")로 잘못 생각하고 있습니다. Select.Offset (1 + (profnum-1) * 1, 0) .Select'는 단순히 Range ("A6")로 다시 쓸 수 있습니다. (profnum, 0) .Select'? –

답변

0

당신은 암시 적으로 하나 개의 컬럼 넓은 범위의 객체를 반환 할 Offset 방법을 사용하고,하지만 당신은 행에서 반복하고 있습니다.

Range("A6").Offset(0, 1 + (profnum - 1) * 1).Select

이 행을 유지하려면 :

object.Offset(row_offset, column_offset)

그래서, 단순히 인수의 위치를 ​​교환하여 코드에 작은 수정을합니다 이것은 Offset 방법의 첫 번째 인수입니다 상수이지만 열이 다를 경우 다음 루프는 A6을 선택하고 B6을 선택한 다음 C6을 누른 다음 D6

을 선택합니다.

For i = 1 to 100 
    Range("A6").Offset(0, profnum).Select 
Next 
는 열을 일정하게 유지하기 위해,하지만 행은 다음과 같은 루프는 A6, A7, A8 등 :

For i = 1 to 100 
    Range("A6").Offset(profnum, 0).Select 
Next 
+0

하지만 A6, B6, C6처럼 되길 원치 않습니다 ... A6, A7, A8 ...처럼 되길 원합니다. – sonicc34

0

변수 행을 선택합니다 달라?

동적 인 것을 말합니까?

Dim LstRw As Long 
LstRw = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row