2011-12-22 5 views
0
Set min=min1=1000, max=max1=position=0 
    For i=2 to 10 do 
    min=**MIN(A(i,j):A(i+5,j));** 
    if position=0 then min1=min, position=1 else 
    For j=2 to 10 do {max=**MAX(A(i,j):A(i+5,j));** 
    if max<min then next j else position=0, next i 

나는이에 새로운 오전 위 VB 엑셀 (문제가 굵게)에 다음 코드를 수행하려고 : 감사VB에서 MIN/MAX 함수로 셀을 반복하는 방법은?

+2

코드에서 굵게 표시 할 수 없습니다. 게다가 여러 줄을 굵게하려고했습니다. 또한 Excel VBA처럼 보이지 않습니다. 또한 작동하지 않는 것을 알려주십시오. 게다가, 당신은 무엇을하려고합니까? – JMax

답변

7

당신이 일을하려고하는 명확하지 무엇 때문에 모든 코드를 수정하는 것은 불가능합니다 . 그러나 다음과 같이하면 시작할 수 있습니다. 내가 알파벳 순서로 선언하는 것을 선호하지만이 필요한 것은 아닙니다

Dim i As Integer 
Dim j As Integer 
Dim max As Integer 
Dim max1 As Integer 
Dim min As Integer 
Dim min1 As Integer 
Dim Position As Integer 

:

그것은 당신의 변수를 선언하고 자신의 유형을 지정하는 것이 가장 좋습니다.

당신이 필요합니다

min = 1000 
    min1 = 1000 
    max = 0 
    max1 = 0 
    Position = 0 

Set min=min1=1000, max=max1=position=0에 다음과 같은 실수 있습니다

  • 설정은 개체에 대한 사용은.
  • 쉼표로 명령문을 분리 할 수 ​​없습니다. 일부 언어 min=min1=1000에서
  • min1=1000, min=min1을 의미하지만, VBA에서 의미 :

    If min1=1000 Then 
        min=True 
    Else 
        min=False 
    End if 
    

문를 들어 말에 더 Do 없습니다. 따라서 :

For i = 2 To 10 

MIN 및 MAX는 워크 시트 기능입니다. VBA에서 사용하려면 워크 시트 함수라고 말해야합니다. VBA의 성명 끝에는 세미콜론이 없습니다. MIN 함수에서 j를 사용했지만 값을 아직 설정하지 않았습니다.

MIN 및 MAX에 대한 매개 변수 값의 위치를 ​​알 수 없습니다.

With ActiveSheet 
    min = Application.WorksheetFunction.min(.Range("B16:F16")) 
End With 

혹은 같은 : 위치는 현재 워크 시트에있는 경우

당신이 뭔가를 필요

With ActiveSheet 
    min = Application.WorksheetFunction.min(.Range(.Cells(i,j),.Cells(i+5,j))) 
End With 

그것은, 수 배열에 MIN과 MAX 함수를 사용하지만, 배열의 일부분을 선택할 방법이 없다는 것을 알고 있습니다.

희망이 있으니 알려주세요.

+2

+1 그런 모호한 질문에 대답하는 데 시간을내어 :) – JMax

+0

beeing 너무 미안해서 죄송합니다, JMax가 맞습니다. 주로, 내 질문은 n 개의 장소에 대한 최소/최대 기능을 수행하는 1 개 장소에 대한 루프의 열을 이동하는 방법입니다. 기본적으로 MIN (A1 : An), MIN (A2 : An + 1), MIN (A3 : An + 2) ..., n은 가변적입니다. 배열의 일부분을 선택하는 방법을 모른다는 말을 듣고 있습니다. 따라서 고정되어 있지 않은 n, 즉 배열의 가변 부분에 대해 n을 수행하는 방법은 없습니다. 위의 답변에 대해 너무 고마워요 :) – user1111530

+0

원래 질문에 당신은 2 차원 배열을 액세스하는 것 같습니다.내가 말한 것은 배열 내의 범위에 MIN과 MAX를 적용 할 수 있다고 생각하지 않는다는 것입니다. 워크 시트에 액세스하는 경우 원하는 크기의 범위를 지정할 수 있습니다. 마지막 코드 블록을보십시오. '셀 (i, j)'는 범위의 시작을 나타냅니다. '셀 (i + 5, j)'는 범위의 끝을 나타냅니다. 셀 내에서 첫 번째 매개 변수는 행이고 두 번째 매개 변수는 열입니다. 배열 내의 범위에 액세스하려면이 작업을 수행 할 수있는 다른 기법이 있습니다. 당신이 더 명확하게 원하는 것을 설명하고 아마 그것을 가질 수 있습니다. –

관련 문제