중화사전망 - 영어 사전 - 엑셀 VBA: 이 진술은 무엇을 의미합니까? 그들을 한 문장씩 번역하는 위대한 신이 있습니까?
엑셀 VBA: 이 진술은 무엇을 의미합니까? 그들을 한 문장씩 번역하는 위대한 신이 있습니까?
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) 내용과 같습니다.
끝단 접합