[๐4์ฃผ์ฐจ] ์คํฐ๋ ๋ฉค๋ฒ๋ฅผ ์ํ ๋ค์๋ณด๊ธฐ ํธ์ง ์์ ( ~07.30 ๊น์ง )
VBA 4์ฃผ ์์ฑ
์์ฑ์
์ค๋น ๋์์
์์ฑ์ผ
2022-07-24 00:00
์กฐํ
929
๋ณธ ์ฝํ
์ธ ๋ ์คํฐ๋ ๋ฉค๋ฒ๋ง ์กฐํ ๊ฐ๋ฅํฉ๋๋ค.
์ ์ฒด 1,208
๋ฒํธ | ์นดํ ๊ณ ๋ฆฌ | ์ ๋ชฉ | ์์ฑ์ | ์์ฑ์ผ | ์ถ์ฒ | ์กฐํ |
[๐ VBA 4์ฃผ ์์ฑ ํน๋ณ ์คํฐ๋] 1๊ธฐ - ์ฐ์ ์กธ์
์ ๋ฐ ํ๊ธฐ, ์ถํํฉ๋๋ค! (5)
![]() ![]() |
![]() ![]() |
2022.07.31 | 8 | 1162 | ||
40636 | VBA 4์ฃผ ์์ฑ |
4์ฃผ์ฐจ VBA๊ฐ์ ๋
ธํธ
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 143 |
40631 | VBA 4์ฃผ ์์ฑ |
[4์ฃผ์ฐจ]VBA 4์ฃผ ํ์ต
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 50 |
40630 | VBA 4์ฃผ ์์ฑ |
[3์ฃผ์ฐจ]VBA 4์ฃผ ๊ต์ก
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 41 |
40627 | VBA 4์ฃผ ์์ฑ |
[2์ฃผ์ฐจ]VBA 4์ฃผ ์์ฑ ํ์ต
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 39 |
40622 | VBA 4์ฃผ ์์ฑ |
[4์ฃผ์ฐจ] VBA 4์ฃผ์ฐจ ์คํฐ๋ ๋
ธํธ
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 43 |
40621 | VBA 4์ฃผ ์์ฑ |
[4์ฃผ์ฐจ]์์
VBA 4์ฃผ์์ฑ
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 31 |
40618 | VBA 4์ฃผ ์์ฑ |
[4์ฃผ์ฐจ] ์คํฐ๋ ๋
ธํธ, ๋ฏธ์
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 37 |
40616 | VBA 4์ฃผ ์์ฑ |
[4์ฃผ์ฐจ] VBA 4์ฃผ ์์ฑ ํน๋ณ์คํฐ๋ 4๊ฐ
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 42 |
40615 | VBA 4์ฃผ ์์ฑ |
[3์ฃผ์ฐจ] VBA 4์ฃผ ์์ฑ ํน๋ณ์คํฐ๋ 3๊ฐ
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 30 |
40614 | VBA 4์ฃผ ์์ฑ |
[2์ฃผ์ฐจ] VBA 4์ฃผ ์์ฑ ํน๋ณ์คํฐ๋ 2๊ฐ
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 36 |
40612 | VBA 4์ฃผ ์์ฑ |
[1์ฃผ์ฐจ] VBA 4์ฃผ ์์ฑ ํน๋ณ์คํฐ๋ 1๊ฐ
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 56 |
40609 | VBA 4์ฃผ ์์ฑ |
[4์ฃผ์ฐจ] VBA 4์ฃผ ์์ฑ ์คํฐ๋๋
ธํธ
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 34 |
40607 | VBA 4์ฃผ ์์ฑ |
[4์ฃผ์ฐจ] ์คํฐ๋
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 33 |
40596 | VBA 4์ฃผ ์์ฑ |
[3์ฃผ์ฐจ] ์คํฐ๋ ๋ฐ ๋ฏธ์
![]() ![]() |
![]() |
2022.07.29 | - | 32 |
40595 | VBA 4์ฃผ ์์ฑ |
[3์ฃผ์ฐจ] VBA 4์ฃผ ์์ฑ
![]() ![]() |
![]() |
2022.07.29 | - | 32 |
40592 | VBA 4์ฃผ ์์ฑ |
[4์ฃผ์ฐจ] VBA 4์ฃผ ์์ฑ
![]() ![]() ![]() |
![]() ![]() |
2022.07.29 | - | 30 |
40591 | VBA 4์ฃผ ์์ฑ |
[2์ฃผ์ฐจ] ์คํฐ๋ ๋ฐ ๋ฏธ์
![]() ![]() |
![]() |
2022.07.29 | - | 42 |
40589 | VBA 4์ฃผ ์์ฑ |
์ฝ๋ ์
๋ฐ ๋ฐฐ์ด๋ฑ
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.29 | - | 32 |
40588 | VBA 4์ฃผ ์์ฑ |
[3์ฃผ์ฐจ] VBA 4์ฃผ ์์ฑ ๋
ธํธ ๋ฐ ๊ณผ์
![]() ![]() ![]() |
![]() |
2022.07.29 | - | 35 |
40586 | VBA 4์ฃผ ์์ฑ |
[4์ฃผ์ฐจ]VBA 4์ฃผ ์์ฑ
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.29 | - | 36 |
@์ค๋น ๋์์ ๋ ์๊ฐ์ ๋ฆ์์ง๋ง, ๊ผญ ๋ฏธ์ ๋ค ์ ์ถํ๊ณ ์ถ์ด์ ์ฌ๊ธฐ์๋ผ๋ ๋จ๊น๋๋ค.
4์ฃผ๋์ ๋๋ฌด๋ ๊ฐ์ฌํ์ต๋๋ค.
๋ฏธ๊ตญ์๋ถ์์ ํ ์์ผ ์๋ฒฝ 5์๋ง๋ค, ๋๋ฌด๋ ์ฆ๊ฑฐ์ด ์๊ฐ์ด์์ต๋๋ค.
๊ฐ์ฌํ๊ณ , ๊ฒฐํผ๋ ๋๋ฌด๋๋ฌด ์ถํ๋๋ ค์ ^^
๊ฐ์ฌํฉ๋๋ค.
1. ์ด์ฌํ ๊ณต๋ถํ ํ์ ์ด ๋ด๊ธด ์ฌ์ง์ ๋จ๊ฒจ์ฃผ์ธ์!
(์์ชฝ ์นด๋ฉ๋ผ ๋ฒํผ์ ํด๋ฆญํด์ ์ด๋ฏธ์ง๋ฅผ ์ฝ์ ํ ์ ์์ต๋๋ค)
[3์ฃผ์ฐจ ์ด๋ฏธ์ง]
[4์ฃผ์ฐจ ์ด๋ฏธ์ง]
2. ์ด๋ฒ ์คํฐ๋์์ ์๋กญ๊ฒ ์๊ฒ๋๊ฑฐ๋ ์ ์ตํ๋ ๋ด์ฉ์ 3๊ฐ์ง๋ก ์์ฝํด์ฃผ์ธ์!
[3์ฃผ์ฐจ]
(1) DynamicRange๋ฅผ ํตํด sheets ์ฌ์ด์์ ๋จผ์ sheet๋ฅผ ์ง์ ํ๊ณ ๊ทธ ๋ง์ง๋ง ๊ฐ๋ง์ ๋ถ๋ฌ์,
๋ค๋ฅธ ์ํธ์์ ์ด๋ฅผ ์ฌ์ฉํ๋ค.
(2) ์์ ์ ํจ์์ ๋ง๋ค ์ ์๊ณ , ์ง์ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ์ฒ์ ์์๋ค.
(3) clear function์ด ์ด๋์ ์ฌ์ฉ๋๊ณ ์ ํ์ํ์ง ์๊ฒ ๋์๋ค.
[4์ฃผ์ฐจ]
(1) Local์์ ์คํํ๋ ์์๋ค์ ๊ฐ ๋จ๊ณ์ ๊ฐ๋ค ์์ผ๋ก ์ด๋ฅผ ์ด์ฉํ๋ค.
(2) ์ฝํ ์์ฑ์ ์๋ฌธ์๋ก ์์ฑํ์ฌ ์คํ์ ์ฐพ๋ ๋ฒ
(3) ๊ณ ์ ๊ฐ์ ๋ง๋ค๊ธฐ ์ํ On Error Resume Next / On Error GoTo 0์ ์ฌ์ฉ๋ฒ
(4) ๋ช ๋ น๋ฌธ์ ํ ์คํธํ๊ณ ์ ๋์ํ๋ฉด ํจ์ํ ํ์ฌ, ๋ค์์๋ ๋ค์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค.
(๋จ, ํจ์๋ฅผ ๋ง๋ค๋ฉด, ๋ณ์๋ฅผ ์ธ์๋ก ๋ฐ์์ค๊ธฐ ๋๋ฌธ์, Dim๊ณผ Set์ ์์ ์ค๋ค.)
(5) With ๋ฌธ์ ์ด์ฉํ์ฌ ์ฝํ ์ ๊ฐ๋ ์ฑ์ ๋์ธ๋ค.
3. ์ด๋ฒ ์คํฐ๋๋ฅผ ์งํํ๋ฉด์ ํน๋ณํ ์ข์๋ ์ ์ด๋ ๋ถ์กฑํ๋ ์ ์ด ์๋ค๋ฉด ์์ ๋กญ๊ฒ ๋จ๊ฒจ์ฃผ์ธ์.
Los Angeles์ ์ด๊ณ ์๋ ์๋ฆฐ์ด ์ ๋๋ค. ^^
์ง๋ 4์ฃผ๊ฐ ๋๋ฌด๋ ํ๋ณตํ์ต๋๋ค.
๋ค์๊ธ ์์ ์ฆ๊ฑฐ์์ ์์๊ฒ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
ํ๊ตญ ํ ์์ผ ์คํ9์๋ฉด, ๋ฏธ๊ตญ ์๋ถ๋ ํ ์์ผ ์๋ฒฝ 5์ ์ ๋๋ค.
๋๋ฌด๋ ์ฆ๊ฑฐ์ด ๋ง์ผ๋ก ์๋ฒฝ์ ์ผ์ด๋ ์์ ์ ๋ค์์ต๋๋ค.
VBA์ ๊ธฐ์ด๊ฐ ๋ถ์กฑํ ์ํ๋ก Macro ๋ นํ๊ธฐ์ ๊ธฐ๋ฅ์ ์ด์ฉํ๋ค๊ฐ, ๊ธฐ์ด๋ฅผ ์๊ฒ ๋๋ฉด์,
๊ทธ๋์ ์ฌ์ฉํ๋ Macro๋ค์ ๊ฑฐ์ ๋ค ์์ ํ์ฌ ์ ์ฐ๊ณ ์์ต๋๋ค. ๋๋ฌด๋ ๊ฐ์ฌ๋๋ ค์ ^^
์์ผ๋ก๋ ์ด์ฌํ ๋ฐฐ์ฐ๊ณ ์คํํด ๋ณด๊ฒ ์ต๋๋ค.
์ค๋น ๋๋ ๊ฒฐํผ์ ์ถํ๋๋ ค์ ^^
๋ ๋ฐฐ๋ คํ๋ ๋ง์์ผ๋ก ์๋ก๋ฅผ ์ํด์ฃผ๋ฉด ์ข์ ๊ฒฐํผ์ํ์ ์ด์ด๊ฐ์ค๊ฑฐ๋ผ ์๋งํฉ๋๋ค.
4. ์ด์ฌํ ํ์ตํ ๊ฒฐ๊ณผํ์ผ์ด๋ ์คํฌ๋ฆฐ์ท, ์ฝ๋๊ฐ ์๋ค๋ฉด ์์ ๋กญ๊ฒ ์ฌ๋ ค์ฃผ์ธ์.
[3์ฃผ์ฐจ]
Function MyTextJoin(Rng As Range, Optional Delimiter As String = ",")
Dim r As Range
Dim Result As String
For Each r In Rng
If r.Value <> "" Then
Result = Result & r.Value & Delimiter
End If
Next
MyTextJoin = Left(Result, Len(Result) - 1)
End Function
Function DynamicRange(WS As Worksheet, Column As String, InitRow As Long) As Range
Dim i As Long
Dim Address As String
i = WS.Range(Column & "1048576").End(xlUp).Row
If i < InitRow Then i = InitRow
Address = Column & InitRow & ":" & Column & i
Set DynamicRange = WS.Range(Address)
End Function
Sub FilterItems()
Dim GroupRng As Range
Dim r As Range
Dim FilterVal As String
Dim i As Long
Set GroupRng = DynamicRange(Sheet1, "A", 2)
FilterVal = Sheet1.Range("E2").Value
i = 2
For Each r In GroupRng
If r.Value = FilterVal Then
Sheet1.Range("G" & i).Value = r.Offset(0, 1).Value
Sheet1.Range("H" & i).Value = r.Offset(0, 2).Value
i = i + 1
End If
Next
End Sub
[4์ฃผ์ฐจ]
(๋ฏธ์ 1 - ๊ณ ์ ๊ฐ์ ์๋์ผ๋ก ๋ฑ๋กํ๋ ๋ชฉ๋ก์์ ๋ง๋ค๊ธฐ)
Function UniqueTextJoin(Rng As Range, Optional Delimiter As String = ",")
Dim R As Range
Dim Coll As Collection
Dim v As Variant
Dim Result As String
Set Coll = New Collection
On Error Resume Next
For Each R In Rng
Coll.Add R.Value, R.Value
Next
On Error GoTo 0
For Each v In Coll
Result = Result & v & Delimiter
Next
Result = Left(Result, Len(Result) - Len(Delimiter))
UniqueTextJoin = Result
End Function
Sub AddValidation()
Dim Rng As Range
Dim UniqueRng As Range
Set Rng = Sheet1.Range("E2")
Set UniqueRng = DynamicRange(Sheet1, "A", 2)
Rng.Validation.Delete
Rng.Validation.Add xlValidateList, , , UniqueTextJoin(UniqueRng)
End Sub
[๋ฏธ์ 2 - ๋๋ง์ ์ ํ ๋ฑ๋ก ์์ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ]
Private Sub btnSubmit_Click()
Dim i As Long
i = Sheet1.Range("A1048576").End(xlUp).Row + 1
Sheet1.Range("A" & i).Value = Me.txtCategory.Value
Sheet1.Range("B" & i).Value = Me.txtProduct.Value
Sheet1.Range("C" & i).Value = Me.txtPrice.Value
MsgBox "์ ํ์ ๋ฑ๋กํ์์ต๋๋ค!"
Me.txtCategory.Value = ""
Me.txtProduct.Value = ""
Me.txtPrice.Value = ""
End Sub
Sub ShowForm()
frmAddProduct.Show
End Sub
@DanP ๋ ์๋ ํ์ธ์! ์ค๋น ๋์์ ์ ๋๋ค.
์คํฐ๋ ๋ ธํธ์์ฑ ๋ฐ ์๊ฐ์ธ์ฆ ๊ธฐํ์ ์ค๋(7/30) ์คํ 7์๊น์ง ์ฐ์ฅํ์์ผ๋ ํ๋ฒ ํ์ธํด๋ณด์๊ฒ ์ด์? ๐
๊ฐ์ฌํฉ๋๋ค.