중화사전망 - 영어 사전 - 엑셀 VBA: 이 진술은 무엇을 의미합니까? 그들을 한 문장씩 번역하는 위대한 신이 있습니까?

엑셀 VBA: 이 진술은 무엇을 의미합니까? 그들을 한 문장씩 번역하는 위대한 신이 있습니까?

Private worksheet _ activate ()' 워크시트 활성화 이벤트

Set d = createobject ("스크립트. Dictionary ")' d 를 dictionary 객체로 지정합니다.

Arr = Sheet 1 입니다. 사용 범위

I = 2 에서 하한 (arr) 까지의 경우

If arr(i,1) < & gt ""다음에 d(arr(i, 1)) = "" 'D 키워드를 추가합니다.

그리고 나서

동일 범위 ("B2"). 확인

。 삭제

。 Add3, 1, 1, join (d.keys, ",") B2 는 d 키워드 링크 값과 같은 데이터 유효성을 증가시킵니다.

로 끝맺다

설정 d = 없음

끝단 접합

하위 쿼리 ()

Dim d, arr, brr (), ar, br (), ABR (), m, n, I, j, a, b, aa, S.

범위 ("A5:P 10000"). 컨텐츠 지우기는 (A5: P 10000) 셀 영역의 컨텐츠를 지웁니다.

Range("B2") = ""그렇다면 MsgBox "를 선택하십시오! 프로그램이 종료됩니다. , 64, "팁": 짧은 연결 종료

Range("C2") = ""그럼 MsgBox "체크 아웃 수량을 기입해 주세요! 프로그램이 종료됩니다. , 64, 프롬프트: 출구 하위 셀 B2 와 C2 가 비어 있으면 대화상자가 나타납니다.

Arr = Sheet 1 입니다. 사용 범위는 배열을 할당합니다.

ARR 1 차원의 I = 2 ~ UBound(arr)' 루프의 경우.

Arr (I, 1) = Range("B2 "), arr(i, 4) =" 사용 가능 "인 경우' 은 셀이 Range("B2") 와 같은지 여부를 결정합니다

M = m+ 1 'M 개 값이 누적됩니다.

Redim preserve BRR (1to7, 1toM)' BRR 수에 값을 할당합니다.

J = 1 에서 6 'J 루프 시작 1 에서 6 까지.

Brr(j, m) = arr(i, j)' Brr 에 해당 arr 배열의 값과 동일한 값을 할당합니다.

그리고 나서

Brr(7, m) = arr(i, 10)' 도 Brr 할당입니다.

만약 ... 끝날거야

Arr(i, 1) = Range("B2 ") 인 경우 arr (I, 1) = range ("B2") 를 결정합니다

S = s+ 1 의 누적 값입니다.

Redim preserve ABR (1to7, 1tos)' m 도 ABR 에 할당된 값이며 해당 arr 배열 측면과 같습니다.

J = 1 ~ 6 의 경우

Abr(j, s) = arr(i, j)

그리고 나서

Abr(7, s) = arr(i, 10)

만약 ... 끝날거야

그리고 나서

M = 0 인 경우' m 이 0 인 경우 다음 절차를 수행합니다.

범위 ("B5:H 10000"). 컨텐츠 지우기는 (b5: h 10000) 셀 영역의 컨텐츠를 지웁니다.

[b5]. Resize (s, 7) = 응용 프로그램. Transpose (abr)' {b5] 영역을 확장한 후 할당은 ABR 에서 리턴한 값과 같습니다.

Range ("b5: h" & S+4). Sort [H5]' h 열을 정렬합니다.

MsgBox ""& 범위 ("B2") & "이 품목을 출고할 수 있는 재고는 0 입니다! 프로그램이 종료됩니다. , 64, "프롬프트" 팝업 프롬프트

Exit Sub' 프로그램을 종료합니다.

만약 ... 끝날거야

[b5]. Resize (m, 7) = 응용 프로그램. Transpose (BRR)' {b5] 영역이 확장되면 할당은 BRR 에서 설정된 값과 같습니다.

Range ("b5: h" & M+4). Sort [H5]' h 열을 정렬합니다.

Arr = range ("b5: h" & M+4)' ARR 재할당

범위 ("B5:H 10000"). 컨텐츠 지우기는 (b5: h 10000) 셀 영역의 컨텐츠를 지웁니다.

[b5]. Resize (s, 7) = 응용 프로그램. Transpose (abr)' {b5] 영역을 확장한 후 할당은 ABR 에서 리턴한 값과 같습니다.

Range ("b5: h" & S+4). Sort [H5]' h 열을 정렬합니다.

ARR 배열의 For I = 1 To UBound(ARR)' 루프.

A = a+arr(i, 3)' a 에 값을 할당합니다.

그리고 나서

B = Val(Range("C2 ")' b 에 값 할당

A-b < A-B 가 0 보다 작으면 다음 절차를 수행합니다.

MsgBox ""& 범위 ("B2") & "기존 재고 품목"&; A& "이번 아웃바운드로는 충분하지 않습니다! 프로그램이 종료됩니다. , 64, "프롬프트" 팝업 프롬프트

출구 커넥터

만약 ... 끝날거야

I = 1 끝 UBound(arr) 의 경우

N = n+1

ReDim Preserve br( 1 ~ 7, 1 ~ n)

J = 1 ~ 7 의 경우

Br(j, n) = arr(i, j)

그리고 나서

Aa = aa+arr(i, 3)

If Val(aa)>= Val(b) Then

종료 ...

만약 ... 끝날거야

그리고 나서

Br(3, n) = br(3, n)-(aa-b)

[J5] 입니다. Resize(n, 7) = 응용 프로그램. Transpose (br)' 위의 코드는 [J5] 에 값을 할당하는 것입니다. Resize (n, 7) 는 전매된 (br) 내용과 같습니다.

끝단 접합