VBA 배열 : MsgBox에서 범위, 오프셋 값 및 출력 값의 최소값 찾기

VBA 피트

나는 배열을 이해하려고 노력하고 있지만 개념에 내 머리를 완전히 감쌀 수는 없습니다. 다음 데이터 세트가 있습니다.

여기에 이미지 설명 입력

그리고 B 열의 값이 0보다 큰지 확인하기 위해 다음 코드를 작성했습니다. 그렇다면 값을 배열에 입력 한 다음 메시지 상자에 최소값을 출력합니다.

Sub MinFunc()

Dim ValLng(1 To 5) As Long, x As Long

x = 3

For i = 1 To 5
    If Cells(x, 2).Value > 0 Then
        ValLng(i) = Cells(x, 1).Value
        Cells(x, 2).Value = Cells(x, 2).Value - 1
        x = x + 1
    End If
Next i

MsgBox (Application.WorksheetFunction.Min(ValLng))

End Sub

이제 코드에 두 가지 문제가 있습니다.

  1. 매크로가 어느 시점에서 충분히 자주 실행되면 배열의 상단이 4, 3 등이되기 때문에 배열의 상단은 가변적이어야합니다.
  2. 최소값 자체를 출력하는 대신 최소값과 관련된 C 열의 값을 출력하고 싶습니다. 메시지 상자의 값을 오프셋하려고했지만 성공하지 못했습니다.

포인트 1과 2를 달성 할 수있는 방법을 알려주시겠습니까?

당신의 도움을 주셔서 감사합니다!

Shai Rado

필요한 것은 동적 크기의 배열을 갖는 것입니다.

먼저 일정한 크기를 정의하지 않고 배열을 정의하고 Dim ValLng() As Variant.

둘째, Redim처음에는 큰 크기로 사용하십시오 ReDim ValLng(0 To 1000).

셋째, For루프 내부의 모든 일치 항목으로 배열을 채운 후 크기를 조정하여 배열을 최적화하고 ReDim Preserve ValLng(0 To x - 1). 배열을 사용하지만 그 안에 값을 유지 Redim Preserve한다는 것을 의미 Redim합니다.

아래 코드를 사용하면 시작할 수 있습니다.

Option Explicit

Sub MinFunc()

Dim ValLng() As Variant, x As Long, i As Long
Dim MinRes, RngFind As Range

ReDim ValLng(0 To 1000) '<-- init dynamic array size to a very large value , will optimize later
x = 3

'-- just for example, loop until the last cell with data in Column B
For i = 1 To Cells(Rows.Count, "B").End(xlUp).Row
    If Cells(x, 2).Value > 0 Then
        ValLng(i) = Cells(x, 1).Value
        Cells(x, 2).Value = Cells(x, 2).Value - 1
        x = x + 1
    End If
Next i

ReDim Preserve ValLng(0 To x - 1) '<-- resize array to actual size found
MinRes = Application.WorksheetFunction.Min(ValLng)

Set RngFind = Cells.Find(What:=MinRes, After:=Range("A1"), _
            LookIn:=xlValues, LookAt:=xlWhole) '<-- use find method
Cells(RngFind.Row, 3) = MinRes '<-- put the Minimum value at column C at the same row

End Sub

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바에서 배열의 최소 및 최대 값을 찾기

분류에서Dev

VBA에서 루프없이 MsgBox 내부의 범위 값 인쇄

분류에서Dev

for 루프로 배열에서 최대 값과 최소값 찾기

분류에서Dev

범위 VBA Excel의 각 셀에 대한 오프셋 값 설정

분류에서Dev

Excel : 범위에서 최소값 찾기

분류에서Dev

배열에서 최소 및 최대 수 찾기, 최소값은 항상 0

분류에서Dev

객체 배열에서 최소값 및 대상 속성 찾기

분류에서Dev

최대 값과 링크 된리스트에서 최소값하지만 입력 목록을 찾기 위해 자바 기록 두 방법의 최소 및 최대 사용 정수 배열

분류에서Dev

Excel VBA 루프 및 배열에서 값 가져 오기

분류에서Dev

Excel VBA 해당 범위의 최소값에서 최대 값을 기준으로 범위에서 셀 주소 찾기

분류에서Dev

범위에서 최소값과 최대 값 찾기

분류에서Dev

범위에서 값 찾기 및 선택

분류에서Dev

주어진 범위의 배열에서 피크 값 찾기

분류에서Dev

연관 배열 PHP의 최소 및 최대 키와 값 찾기

분류에서Dev

Python DataFrame에서 최소값 열 및 최소값 열 이름 찾기

분류에서Dev

vuejs의 배열에서 일치 범위 값 가져 오기

분류에서Dev

변이 배열에서 최소값 및 오프셋에 대한 데이터 구조

분류에서Dev

배열에서 값의 위치 찾기

분류에서Dev

VBA에서 행 범위 2:60 및 열 범위 D : H에있는 셀의 최대 값을 얻는 방법

분류에서Dev

R에서 열의 최소값 찾기

분류에서Dev

Java – 배열에서 최소값과 최대 값 찾기

분류에서Dev

Google 시트의 각 값 배열에서 범위 (조건) 내 값 찾기

분류에서Dev

한 열에서 최소 및 최대 값을 찾고 다른 열의 해당 값 찾기

분류에서Dev

Chrome에서 최소 및 최대 값을 사용하여 "입력 범위"에 하한 / 상한 채우기 적용

분류에서Dev

열에서 Null 값 범위 찾기-Pandas

분류에서Dev

PHP의 다차원 배열에서 최소 및 최대 그룹 값 가져 오기

분류에서Dev

Sencha 차트 : 축의 최대 및 최소 값에 대한 오프셋

분류에서Dev

순회, 최대 값 찾기 및 Java에서 배열의 평균 찾기

분류에서Dev

VBA Excel에서 연속되지 않는 범위의 최소값

Related 관련 기사

  1. 1

    자바에서 배열의 최소 및 최대 값을 찾기

  2. 2

    VBA에서 루프없이 MsgBox 내부의 범위 값 인쇄

  3. 3

    for 루프로 배열에서 최대 값과 최소값 찾기

  4. 4

    범위 VBA Excel의 각 셀에 대한 오프셋 값 설정

  5. 5

    Excel : 범위에서 최소값 찾기

  6. 6

    배열에서 최소 및 최대 수 찾기, 최소값은 항상 0

  7. 7

    객체 배열에서 최소값 및 대상 속성 찾기

  8. 8

    최대 값과 링크 된리스트에서 최소값하지만 입력 목록을 찾기 위해 자바 기록 두 방법의 최소 및 최대 사용 정수 배열

  9. 9

    Excel VBA 루프 및 배열에서 값 가져 오기

  10. 10

    Excel VBA 해당 범위의 최소값에서 최대 값을 기준으로 범위에서 셀 주소 찾기

  11. 11

    범위에서 최소값과 최대 값 찾기

  12. 12

    범위에서 값 찾기 및 선택

  13. 13

    주어진 범위의 배열에서 피크 값 찾기

  14. 14

    연관 배열 PHP의 최소 및 최대 키와 값 찾기

  15. 15

    Python DataFrame에서 최소값 열 및 최소값 열 이름 찾기

  16. 16

    vuejs의 배열에서 일치 범위 값 가져 오기

  17. 17

    변이 배열에서 최소값 및 오프셋에 대한 데이터 구조

  18. 18

    배열에서 값의 위치 찾기

  19. 19

    VBA에서 행 범위 2:60 및 열 범위 D : H에있는 셀의 최대 값을 얻는 방법

  20. 20

    R에서 열의 최소값 찾기

  21. 21

    Java – 배열에서 최소값과 최대 값 찾기

  22. 22

    Google 시트의 각 값 배열에서 범위 (조건) 내 값 찾기

  23. 23

    한 열에서 최소 및 최대 값을 찾고 다른 열의 해당 값 찾기

  24. 24

    Chrome에서 최소 및 최대 값을 사용하여 "입력 범위"에 하한 / 상한 채우기 적용

  25. 25

    열에서 Null 값 범위 찾기-Pandas

  26. 26

    PHP의 다차원 배열에서 최소 및 최대 그룹 값 가져 오기

  27. 27

    Sencha 차트 : 축의 최대 및 최소 값에 대한 오프셋

  28. 28

    순회, 최대 값 찾기 및 Java에서 배열의 평균 찾기

  29. 29

    VBA Excel에서 연속되지 않는 범위의 최소값

뜨겁다태그

보관