|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
1. 엑셀 버전(95,97,2000,2002):
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...):
* 아래줄에 질문을 작성하세요 >>
안녕하세요
아래코드는 검색하여 수량 입력하는것인데요
문제는 텍스터박스의 문자와 시트의문자와 비교할때 대문자 소문자 구별하지않게
하고싶습니다 시트에나 박스에나 대,소문자가 섞여 있거든요
좀고처주시면 감사 하겠습니다
Option Explicit
Private Sub CommandButton1_Click()
'지역,품명,규격,수량
If Txt지역 = "" Then
MsgBox "지역을 입력하세요"
Txt지역.SetFocus
Exit Sub
End If
If Txt품명 = "" Then
MsgBox "품명을 입력하세요"
Txt품명.SetFocus
Exit Sub
End If
If Txt규격 = "" Then
MsgBox "규격을 입력하세요"
Txt규격.SetFocus
Exit Sub
End If
If Txt수량 = "" Then
MsgBox "수량을 입력하세요"
Txt수량.SetFocus
Exit Sub
End If
If Cmb날짜.Value = "" Then
MsgBox "날짜를 입력하세요"
Cmb날짜.SetFocus
Exit Sub
End If
If Cmb항목.Value = "" Then
MsgBox "항목을 입력하세요"
Cmb항목.SetFocus
Exit Sub
End If
Dim intA As Integer
Dim intB As Integer
Dim Rng As Range
Dim YesOk As Boolean
intB = Cmb날짜 * 3 + IIf(Cmb항목.Value = "입고", 1, IIf(Cmb항목.Value = "출고", 2, 3))
With ActiveSheet
intA = .Range("A3").CurrentRegion.Rows.Count + 2
For Each Rng In .Range("A4:A" & intA - 1)
If Rng = Txt지역 And Rng.Offset(0, 1) = Txt품명 And Format$(Rng.Offset(0, 2), "#") = Txt규격 Then
If MsgBox("이미 입력된 자료가 있습니다" & vbCr & "여기에 추가할까요?" & vbCr & _
"(입력된 자료에 추가하지않고 새로 추가하려면(아니오))", vbInformation + vbYesNo, "추가입력") = vbYes Then
YesOk = True
Rng.Cells(1, intB) = Rng.Cells(1, intB) + Txt수량
Else
MsgBox "기존 자료에 추가하지않고 새 항목을 추가합니다."
YesOk = False
Exit For
End If
End If
Next Rng
If YesOk = False Then
.Cells(intA, 1) = Txt지역
.Cells(intA, 2) = Txt품명
.Cells(intA, 3) = Txt규격
.Cells(intA, intB) = Txt수량
End If
End With
Txt지역.SetFocus
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim intA As Integer
Cmb항목.List = Array("입고", "출고", "반품")
For intA = 1 To 31
Cmb날짜.AddItem intA
Next intA
End Sub |
|