쪽수에 관계없이 물어보고싶은데요
1.스프레드시트에서 프로시저작성시 Listindex 속성이용할때 이해가 안가요,, 잘 모르겠어요
어떤건 +1 어떤건 +4 이던데,,
이해가 쏙쏙 될만한 설명이 없을까요ㅠㅠ
2.프로시저 작성시 Listindex 와 같이 이용할때 어떤거는 ex) i= range("a2").currentregion.rows.count 를 안써도 되던데
어떨때 빼고 어떨때 작성하는건가요?
3.프로시저작성시 예를들어
txt월납액 = cells(i, 2)
cells(i,2) = txt월납액
둘의차이가무엇인가요? 바꿔서 써도 상관없지않나요?
안녕하세요.
1.
ListIndex를 이용해서
아래 첫번째 코드는 목록상자나 콤보상자에서 특정 행을 추출할 때 사용하고, 두번째 코드는 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.
<첫 번째 코드>
참조행 = lst과목.ListIndex
입력행 = [a2].Row + [a2].CurrentRegion.Rows.Count
Cells(입력행, 1) = txtID
Cells(입력행, 2) = txt이름
Cells(입력행, 3) = lst과목.List(참조행, 0)
Cells(입력행, 4) = lst과목.List(참조행, 1)
Cells(입력행, 5) = lst과목.List(참조행, 2)
Cells(입력행, 6) = lst과목.List(참조행, 3) - (lst과목.List(참조행, 3) * txt할인율)
여기에서 참조행에 lst과목.listindex 라고 정의해 두고 lst과목.list(참조행,0) 으로 사용 하고 있습니다.
이것은 참조행이 어디인지 지정해 놓고 lst과목에서 참조행의 위치와 0인.. 그러니깐 참조행이 만약 2이고 찾고자하는 것이 0행에 있다는 그런 뜻이 됩니다.
<두 번째 코드>
참조행 = lst열차종류.listindex + 4
입력행 = [a3].row + [a3].currentregion.rows.count
cells(입력행, 1) = txt번호
cells(입력행, 2) = cells(참조행, 8)
cells(입력행, 3) = cells(참조행, 9)
cells(입력행, 4) = txt매수
cells(입력행, 5) = txt매수 * cells(참조행, 10)
이 문장에서는 lst열차종류에서 참조되는 행의 위치를 이미 지정하였습니다. 그리고 사용 할때는 8,9와 같이 엑셀에서 위치하는 열을 미리 적어 둔 것입니다.
한마디로 말하면.. 첫번째 코드는 폼안의 list박스내의 자료를 찾아서 셀에 입력 하는 것이구요.
두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.
2. i= range("a2").currentregion.rows.count는 보통 입력행을 찾기 위해 사용됩니다.
입력행을 필요로 하지 않는 코드에서는 사용하지 않으셔도 됩니다.
3.
조건을 비교하는 것이 아니기 때문에 좌우를 바꿔서 사용하시면 안됩니다.
=을 기준으로 오른쪽 정보를 왼쪽에 넣는다는 것입니다.
좌변과 우변의 순서를 정확히 지정하셔야 합니다.
txt월납액 = cells(i, 2) : 워크시트의 i행 2열 정보를 폼의 txt월납액에 표시합니다.
cells(i,2) = txt월납액 : 폼의 txt월납액의 정보를 워크시트의 i행 2열에 표시합니다.
좋은 하루 보내세요.
-
관리자2019-03-22 23:13:02
안녕하세요.
1.
ListIndex를 이용해서
아래 첫번째 코드는 목록상자나 콤보상자에서 특정 행을 추출할 때 사용하고, 두번째 코드는 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.
<첫 번째 코드>
참조행 = lst과목.ListIndex
입력행 = [a2].Row + [a2].CurrentRegion.Rows.Count
Cells(입력행, 1) = txtID
Cells(입력행, 2) = txt이름
Cells(입력행, 3) = lst과목.List(참조행, 0)
Cells(입력행, 4) = lst과목.List(참조행, 1)
Cells(입력행, 5) = lst과목.List(참조행, 2)
Cells(입력행, 6) = lst과목.List(참조행, 3) - (lst과목.List(참조행, 3) * txt할인율)여기에서 참조행에 lst과목.listindex 라고 정의해 두고 lst과목.list(참조행,0) 으로 사용 하고 있습니다.
이것은 참조행이 어디인지 지정해 놓고 lst과목에서 참조행의 위치와 0인.. 그러니깐 참조행이 만약 2이고 찾고자하는 것이 0행에 있다는 그런 뜻이 됩니다.
<두 번째 코드>
참조행 = lst열차종류.listindex + 4
입력행 = [a3].row + [a3].currentregion.rows.countcells(입력행, 1) = txt번호
cells(입력행, 2) = cells(참조행, 8)
cells(입력행, 3) = cells(참조행, 9)
cells(입력행, 4) = txt매수
cells(입력행, 5) = txt매수 * cells(참조행, 10)이 문장에서는 lst열차종류에서 참조되는 행의 위치를 이미 지정하였습니다. 그리고 사용 할때는 8,9와 같이 엑셀에서 위치하는 열을 미리 적어 둔 것입니다.
한마디로 말하면.. 첫번째 코드는 폼안의 list박스내의 자료를 찾아서 셀에 입력 하는 것이구요.
두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.
2. i= range("a2").currentregion.rows.count는 보통 입력행을 찾기 위해 사용됩니다.
입력행을 필요로 하지 않는 코드에서는 사용하지 않으셔도 됩니다.
3.
조건을 비교하는 것이 아니기 때문에 좌우를 바꿔서 사용하시면 안됩니다.
=을 기준으로 오른쪽 정보를 왼쪽에 넣는다는 것입니다.
좌변과 우변의 순서를 정확히 지정하셔야 합니다.
txt월납액 = cells(i, 2) : 워크시트의 i행 2열 정보를 폼의 txt월납액에 표시합니다.
cells(i,2) = txt월납액 : 폼의 txt월납액의 정보를 워크시트의 i행 2열에 표시합니다.
좋은 하루 보내세요.