๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

์—‘์…€์—์„œ ๋‹ค์Œ ๋‚ ์ด ๋˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ ํ•œ ์นธ์”ฉ ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€๋„๋ก ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

by pa2 2024. 12. 26.

์—‘์…€์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ ์งœ์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ํ•œ ์นธ์”ฉ ์•„๋ž˜๋กœ ์ด๋™์‹œํ‚ค๋Š” ๊ธฐ๋Šฅ์€ **๋งคํฌ๋กœ(VBA)**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ๋‚ ์งœ๋ฅผ ํ™•์ธํ•œ ํ›„, ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™์‹œํ‚ค๋„๋ก ์„ค์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.


1. ์ค€๋น„ ๋‹จ๊ณ„

1) ์‹œํŠธ ๊ตฌ์กฐ ์ค€๋น„

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™ํ•  ๊ธฐ์ค€์ด ๋˜๋Š” ์…€์„ ์ •ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ: A1 ์…€์— ์˜ค๋Š˜ ๋‚ ์งœ๊ฐ€ ์ž…๋ ฅ๋˜๋„๋ก ์„ค์ •.
  • ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™์‹œํ‚ฌ ๋ฒ”์œ„๋ฅผ ์ •ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ: B์—ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์•„๋ž˜๋กœ ์ด๋™.

2. VBA ๋งคํฌ๋กœ๋กœ ์ž๋™ ์ด๋™ ์„ค์ •

์—‘์…€์˜ VBA(Visual Basic for Applications)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ ์งœ ๋ณ€๊ฒฝ ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์•„๋ž˜๋กœ ์ด๋™ํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1) VBA ๋งคํฌ๋กœ ์ฝ”๋“œ ์ž‘์„ฑ

  1. VBA ํŽธ์ง‘๊ธฐ ์—ด๊ธฐ:
    • Alt + F11์„ ๋ˆŒ๋Ÿฌ VBA ํŽธ์ง‘๊ธฐ๋ฅผ ์—ฝ๋‹ˆ๋‹ค.
  2. ์ƒˆ ๋ชจ๋“ˆ ์ถ”๊ฐ€:
    • ์ƒ๋‹จ ๋ฉ”๋‰ด์—์„œ ์‚ฝ์ž… > ๋ชจ๋“ˆ์„ ์„ ํƒ.
  3. ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค.
vba
์ฝ”๋“œ ๋ณต์‚ฌ
Sub MoveDataDown() Dim ws As Worksheet Dim todayDate As Date Dim lastDate As Date ' ์‹œํŠธ ์„ ํƒ (ํ•„์š”์‹œ "Sheet1"์„ ์›ํ•˜๋Š” ์‹œํŠธ ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ) Set ws = ThisWorkbook.Sheets("Sheet1") ' ์˜ค๋Š˜ ๋‚ ์งœ ๊ฐ€์ ธ์˜ค๊ธฐ todayDate = Date lastDate = ws.Range("A1").Value ' A1์— ์ €์žฅ๋œ ๋‚ ์งœ์™€ ์˜ค๋Š˜ ๋‚ ์งœ๊ฐ€ ๋‹ค๋ฅด๋ฉด ๋ฐ์ดํ„ฐ ์ด๋™ If lastDate <> todayDate Then Dim rng As Range ' ๋ฐ์ดํ„ฐ ๋ฒ”์œ„ ์ง€์ • (B์—ด ๊ธฐ์ค€) Set rng = ws.Range("B1:B" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row) ' ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ์นธ ์•„๋ž˜๋กœ ์ด๋™ rng.Cut Destination:=rng.Offset(1, 0) ' ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์—…๋ฐ์ดํŠธ ws.Range("A1").Value = todayDate End If End Sub

2) ์ฝ”๋“œ ์„ค๋ช…

  • A1 ์…€์˜ ๋‚ ์งœ ํ™•์ธ: ์˜ค๋Š˜ ๋‚ ์งœ์™€ A1 ์…€์˜ ๋‚ ์งœ๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์ด๋™: B์—ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ์นธ ์•„๋ž˜๋กœ ์ด๋™.
  • ์˜ค๋Š˜ ๋‚ ์งœ ์—…๋ฐ์ดํŠธ: ๋‚ ์งœ๊ฐ€ ๊ฐฑ์‹ ๋˜์—ˆ์Œ์„ ๊ธฐ๋กํ•˜์—ฌ ๋ฐ˜๋ณต ์‹คํ–‰ ๋ฐฉ์ง€.

3) ๋งคํฌ๋กœ ์‹คํ–‰ ์„ค์ •

  1. ๋งคํฌ๋กœ ์‹คํ–‰ ๋ฐฉ๋ฒ•:
    • VBA ํŽธ์ง‘๊ธฐ์—์„œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜๊ณ  Alt + F8์„ ๋ˆŒ๋Ÿฌ ๋งคํฌ๋กœ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    • MoveDataDown์„ ์„ ํƒ ํ›„ ์‹คํ–‰ ๋ฒ„ํŠผ ํด๋ฆญ.
  2. ์ž๋™ ์‹คํ–‰ ์„ค์ •:
    • ๋งค์ผ ์—‘์…€์„ ์—ด ๋•Œ ์ž๋™ ์‹คํ–‰ํ•˜๋ ค๋ฉด, ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    • VBA ํŽธ์ง‘๊ธฐ์—์„œ ThisWorkbook์„ ๋”๋ธ” ํด๋ฆญํ•˜๊ณ  ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅ:
      vba
      ์ฝ”๋“œ ๋ณต์‚ฌ
      Private Sub Workbook_Open() Call MoveDataDown End Sub
    • ์—‘์…€ ํŒŒ์ผ์ด ์—ด๋ฆด ๋•Œ ์ž๋™์œผ๋กœ MoveDataDown ๋งคํฌ๋กœ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

3. ์ถ”๊ฐ€ ์„ค์ •

1) ํŠน์ • ์‹œ๊ฐ„์— ์ž๋™ ์‹คํ–‰

  • Windows ์ž‘์—… ์Šค์ผ€์ค„๋Ÿฌ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์‹œ๊ฐ„์— ๋งคํฌ๋กœ๊ฐ€ ์‹คํ–‰๋˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2) ๋งคํฌ๋กœ ๋ณด์•ˆ ์„ค์ •

  • ๋งคํฌ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ณด์•ˆ์„ ๋‚ฎ์ถ”๊ฑฐ๋‚˜, ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜์— ํŒŒ์ผ์„ ์ €์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ํŒŒ์ผ > ์˜ต์…˜ > ๋ณด์•ˆ ์„ผํ„ฐ > ๋งคํฌ๋กœ ์„ค์ •์—์„œ "๋ชจ๋“  ๋งคํฌ๋กœ ์‚ฌ์šฉ"์„ ์„ ํƒ.

4. ์ฃผ์˜์‚ฌํ•ญ

  1. ๋ฐ์ดํ„ฐ ๋ณต๊ตฌ ๋Œ€๋น„:
    • ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™ํ•˜๋Š” ์ž‘์—…์ด๋ฏ€๋กœ, ์‹คํ–‰ ์ „์— ํŒŒ์ผ์„ ๋ฐฑ์—…ํ•˜์„ธ์š”.
  2. ๋‚ ์งœ ๊ธฐ์ค€ ์ •ํ™•์„ฑ:
    • A1 ์…€์˜ ๋‚ ์งœ๊ฐ€ ์ž˜๋ชป ์„ค์ •๋˜๋ฉด ์˜๋„ํ•˜์ง€ ์•Š์€ ๋™์ž‘์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ž‘์—… ๋ฒ”์œ„ ์ง€์ •:
    • ํ•„์š”ํ•œ ๋ฒ”์œ„(B์—ด)๋ฅผ ์ •ํ™•ํžˆ ์ง€์ •ํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ด๋™์„ ๋ฐฉ์ง€ํ•˜์„ธ์š”.

5. ๊ฒฐ๋ก 

  • ์œ„ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ๋‚ ์งœ ๋ณ€๊ฒฝ ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ํ•œ ์นธ ์•„๋ž˜๋กœ ์ด๋™ํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • VBA ๋งคํฌ๋กœ๋Š” ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•˜๋ฏ€๋กœ, ์ฝ”๋“œ ์ž‘์„ฑ ํ›„ ํŒŒ์ผ ์ €์žฅ ์‹œ ๋ฐ˜๋“œ์‹œ **๋งคํฌ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํŒŒ์ผ ํ˜•์‹(.xlsm)**์œผ๋กœ ์ €์žฅํ•˜์„ธ์š”.

TIP: VBA ์ฝ”๋“œ๊ฐ€ ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ๊ฐ„๋‹จํ•œ ์‹คํ—˜์šฉ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ๋จผ์ € ํ…Œ์ŠคํŠธํ•ด๋ณด๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค! ๐Ÿ˜Š

๋Œ“๊ธ€