질문자 : rom****
요구사항
이 시트를 기반으로 검색시트라는 곳에서 별도로 검색이 되고 싶은데요.
품번을 검색하게 되면 입출고 수량을 자동계산해서 현재 재고가 얼마나 있는지 나타내게 하고 싶습니다.
나타낼때 품번/품명/재고 정도만 표시가 되면 좋겠습니다.
샘플파일
시연 동영상
사용된 소스
Sub search()
With ActiveSheet
Dim stin As Double
Dim stout As Double
Dim i As Integer
Dim rr As Range
Dim line As Integer
If Worksheets("검색").Range("G2").Value > 3 Then
line = Worksheets("검색").Range("G2").Value
Else
line = 1000
End If
answer = InputBox("품번을 입력하세요", "by LZena")
Worksheets("검색").Range("A1").Value = "품번"
Worksheets("검색").Range("A2").Value = answer
Worksheets("검색").Range("b1").Value = "상태"
Worksheets("검색").Range("b2").Value = "입고"
stin = Application.WorksheetFunction.DSum(Worksheets("입출고").Range("a1:h" & line), 6, Worksheets("검색").Range("a1:b2"))
Worksheets("검색").Range("b2").Value = "출고"
stout = Application.WorksheetFunction.DSum(Worksheets("입출고").Range("a1:h" & line), 6, Worksheets("검색").Range("a1:b2"))
Worksheets("검색").Range("b1").Value = "품명"
For i = 2 To line
If Worksheets("입출고").Cells(i, 3).Value = answer Then
Worksheets("검색").Range("b2").Value = Worksheets("입출고").Cells(i, 4).Value
GoTo good
End If
Next i
Worksheets("검색").Range("b2").Value = ""
MsgBox "입력하신 품번이 자료에 없습니다. 정확히 입력해주세요", vbOKOnly, "By LZena"
good:
Worksheets("검색").Range("c1").Value = "재고"
Worksheets("검색").Range("c2").Value = stin - stout
Worksheets("검색").Activate
End With
End Sub
'지식in > 엑셀 & VBA 관련' 카테고리의 다른 글
엑셀 vba, 셀내용 메시지 박스에 출력하기 외 2 (0) | 2013.10.18 |
---|---|
vba로 각각의 열에 있는 데이터 비교하기 (1) | 2013.10.10 |
엑셀 입력폼 만들어서 입력하기 (6) | 2013.10.09 |