338쪽
----------------------------------------------------------------------
Private Sub 요금입력_Click()
If txt년도 = "" Then
MsgBox "정산년도를 입력하세요"
ElseIf txt고객 = "" Then
MsgBox "고객명을 입력하세요"
ElseIf cmb코드 = "" Then
MsgBox "등급코드를 선택하세요"
Else
참조행 = cmb코드.ListIndex + 4
입력행 = [a3].Row + [a3].CurrentRegion.Rows.Count
Cells(입력행, 1) = txt고객
Cells(입력행, 2) = cmb코드
Cells(입력행, 3) = Cells(참조행, 8)
Cells(입력행, 4) = Cells(참조행, 9)
Cells(입력행, 5) = Cells(참조행, 10)
End If
End Sub
-------------------------------------------------------------------
txt년도 = "" ,txt고객 = "" , cmb코드 = ""
대신에 If IsNull(txt년도.Value) Then
이런식으로 입력해도 되는지 ?
354쪽
--------------------------------------------------------
Private Sub cmb등록_Click()
If IsNull(lst열차종류.Value) Then → 아까와 반대로 lst열차종류=""라고 해도 되나요?
txt번호 = "선택안함"
lst열차종류.ListIndex = 0
Else
참조행 = lst열차종류.ListIndex
입력행 = [a3].Row + [a3].CurrentRegion.Rows.Count → lst열차종류.listindex + 4 라고 해도 되나요?
Cells(입력행, 1) = 입력행 - 3 & "-" & UCase(txt번호)
Cells(입력행, 2) = Format(TimeValue(txt예약시간), "hh:mm")
If TimeValue(txt예약시간) >= 0.5 Then
Cells(입력행, 3) = "오후"
Else
Cells(입력행, 3) = "오전"
End If
Cells(입력행, 4) = lst열차종류.List(참조행, 0) →참조행을 lst열차종류.listindex + 4 라고 지정했을때 cells(참조행,10) 또는 lst열차종류.column(0)이라고 해도 되는지?
Cells(입력행, 5) = lst열차종류.List(참조행, 1) →마찬가지로cells(참조행,11) 또는 lst열차종류.column(1) 이렇게 해도 ...?
Cells(입력행, 6) = Val(txt매수)
Cells(입력행, 7) = lst열차종류.List(참조행, 2) * txt매수 → cells(참조행,12) 또는 lst열차종류.column(2) * txt매수 이렇게는요?
End If
End Sub
-------------------------------------------------------
369쪽
-----------------------------------------------------------
Private Sub cmd입력_Click()
.
.
.
(생략)
Cells(입력행, 5) = Format(Cells(입력행, 4) * Cells(참조행, 9), "#,###") → format(txt사용시간 * cells(참조행,9),"#,###") 이렇게하면 안되는건가요..
End Sub
------------------------------------------------------------
412쪽
---------------------------------------------------------------------------
Private Sub cmd입력_Click()
입력행 = [a3].Row + [a3].CurrentRegion.Rows.Count
Cells(입력행, 1) = CDate(txt구매일자)
Cells(입력행, 2) = List품목명 → list품목명.column(0)을 써도 되나요?
Cells(입력행, 3) = Val(txt수량)
Cells(입력행, 4) = Format(txt수량 * txt단가, "#,###") → format(cells(입력행,3) * txt단가 , "#,###")이런 형식으로 둘 다 써도 되는건지 궁금합니다
List품목명 = ""
txt단가 = ""
txt수량 = ""
End Sub
---------------------------------------------------------------------------
1.
단순한 컨트롤이 아니라 바운드된 필드로 참조할 때,
필드의 초기값은 Null이므로 값을 입력하지 않은 것은 IsNull로 검사합니다.
IsNull( )은 유효한 데이터를 전혀 포함하지 않으면 참(True)을, 포함하면 거짓(False)을 반환하는 함수입니다.
주로 목록상자에서 사용됩니다.
엑셀에서 컨트롤에 등록된 내용을 바로 확인하기 위해서는 txt이름 = "" 와 같이 사용하는 것입니다.
어떻게 작성하시든 코드가 정상실행되어 정확한 결과가 나온다면 상관 없습니다.
실제 시험에서 지시사항에 별다른 설명이 없었다면 둘중 어느것을 사용하시든 정확한 결과가 나오면 정답으로 인정될 것 입니다.
2.
ListIndex는 보통 목록상자나 콤보상자에서 특정 행을 추출할 때 사용하거나 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.
p.364의 ListIndex는 폼에 있는 데이터를 시트에 추가하는 문제로 목록상자(lst열차종류)에서 특정 행을 추출하여 시트에 추가합니다.
Cells(입력행, 2) = lst열차종류.List(참조행, 0)
Cells(입력행, 3) = lst열차종류.List(참조행, 1)
'참조행 = lst열차종류.ListIndex' 라고 정의해 두고 lst열차종류.List(참조행, 0) 으로 사용하고 있습니다.
이것은 참조행이 어디인지 지정해 놓고 lst열차종류에서 참조행의 위치와 0인.. 그러니깐 참조행이 만약 2이고 찾고자하는 것이 0행에 있다는 그런 뜻이 됩니다.
p.349의 ListIndex는 폼의 선택에 따라 시트의 셀 정보를 가지고와서 시트에 계산하는 문제로 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.
Cells(입력행, 3) = Cells(참조행, 8)
Cells(입력행, 4) = Cells(참조행, 9)
이 문장에서는 cmb코드에서 참조되는 행의 위치를 이미 지정하였습니다. 그리고 사용 할때는 8,9와 같이 엑셀에서 위치하는 열을 미리 적어 둔 것입니다.
+4를 한 이유는 실제 데이터의 위치가 워크시트의 4행[G4]부터 시작하기 때문입니다.
한마디로 말하면.. p.364는 폼안의 list박스내의 자료를 찾아서 셀에 입력 하는 것이구요.
p.349는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인하는 것입니다.
3. 셀에 입력된 값이 아니라 컨트롤에 입력된 값을 사용해도 정확한 결과가 나온다면 상관 없습니다.
다만 지시사항에 맞게 지정된 것이 아니라면 오답처리 될 수 있으니 지시사항을 잘 확인 하여 사용하시기 바랍니다.
4. column은 목록 상자나 콤보상자의 열을 지정하는 것으로 column으로 지정한 열의 값이 입력됩니다. 목록 상자의 값을 입력하는 방법은 여러 가지고 문제에서 특정 항목을 사용하라는 지시사항이 없다면 어떤 것으로 작성하든 상관 없습니다.
좋은 하루 보내세요.
-
관리자2019-12-03 08:45:07
1.
단순한 컨트롤이 아니라 바운드된 필드로 참조할 때,
필드의 초기값은 Null이므로 값을 입력하지 않은 것은 IsNull로 검사합니다.IsNull( )은 유효한 데이터를 전혀 포함하지 않으면 참(True)을, 포함하면 거짓(False)을 반환하는 함수입니다.
주로 목록상자에서 사용됩니다.엑셀에서 컨트롤에 등록된 내용을 바로 확인하기 위해서는 txt이름 = "" 와 같이 사용하는 것입니다.
어떻게 작성하시든 코드가 정상실행되어 정확한 결과가 나온다면 상관 없습니다.실제 시험에서 지시사항에 별다른 설명이 없었다면 둘중 어느것을 사용하시든 정확한 결과가 나오면 정답으로 인정될 것 입니다.
2.
ListIndex는 보통 목록상자나 콤보상자에서 특정 행을 추출할 때 사용하거나 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.
p.364의 ListIndex는 폼에 있는 데이터를 시트에 추가하는 문제로 목록상자(lst열차종류)에서 특정 행을 추출하여 시트에 추가합니다.
Cells(입력행, 2) = lst열차종류.List(참조행, 0)
Cells(입력행, 3) = lst열차종류.List(참조행, 1)'참조행 = lst열차종류.ListIndex' 라고 정의해 두고 lst열차종류.List(참조행, 0) 으로 사용하고 있습니다.
이것은 참조행이 어디인지 지정해 놓고 lst열차종류에서 참조행의 위치와 0인.. 그러니깐 참조행이 만약 2이고 찾고자하는 것이 0행에 있다는 그런 뜻이 됩니다.
p.349의 ListIndex는 폼의 선택에 따라 시트의 셀 정보를 가지고와서 시트에 계산하는 문제로 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.
Cells(입력행, 3) = Cells(참조행, 8)
Cells(입력행, 4) = Cells(참조행, 9)
이 문장에서는 cmb코드에서 참조되는 행의 위치를 이미 지정하였습니다. 그리고 사용 할때는 8,9와 같이 엑셀에서 위치하는 열을 미리 적어 둔 것입니다.+4를 한 이유는 실제 데이터의 위치가 워크시트의 4행[G4]부터 시작하기 때문입니다.
한마디로 말하면.. p.364는 폼안의 list박스내의 자료를 찾아서 셀에 입력 하는 것이구요.
p.349는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인하는 것입니다.
3. 셀에 입력된 값이 아니라 컨트롤에 입력된 값을 사용해도 정확한 결과가 나온다면 상관 없습니다.
다만 지시사항에 맞게 지정된 것이 아니라면 오답처리 될 수 있으니 지시사항을 잘 확인 하여 사용하시기 바랍니다.
4. column은 목록 상자나 콤보상자의 열을 지정하는 것으로 column으로 지정한 열의 값이 입력됩니다. 목록 상자의 값을 입력하는 방법은 여러 가지고 문제에서 특정 항목을 사용하라는 지시사항이 없다면 어떤 것으로 작성하든 상관 없습니다.
좋은 하루 보내세요.