ReDim Statement

λ³€μˆ˜λ‚˜ 배열을 μ„ μ–Έν•©λ‹ˆλ‹€.

ꡬ문:

[ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]

μ„ νƒμ μœΌλ‘œ Preserve ν‚€μ›Œλ“œλ₯Ό 맀개 λ³€μˆ˜λ‘œ μΆ”κ°€ν•˜μ—¬ λ‹€μ‹œ μ°¨μ›ν™”λ˜λŠ” λ°°μ—΄μ˜ λ‚΄μš©μ„ μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

맀개 λ³€μˆ˜:

VarName: μž„μ˜μ˜ λ³€μˆ˜ λ˜λŠ” λ°°μ—΄ μ΄λ¦„μž…λ‹ˆλ‹€.

Start, End: μš”μ†Œ 수(NumberElements=(end-start)+1)와 색인 λ²”μœ„λ₯Ό μ§€μ •ν•˜λŠ” 숫자 κ°’ λ˜λŠ” μƒμˆ˜μž…λ‹ˆλ‹€.

ReDim을 ν”„λ‘œμ‹œμ € μˆ˜μ€€μ—μ„œ μ‚¬μš©ν•  경우 Start 및 EndλŠ” 숫자 식이 될 수 μžˆμŠ΅λ‹ˆλ‹€.

VarType: λ³€μˆ˜μ˜ 데이터 μœ ν˜•μ„ μ„ μ–Έν•˜λŠ” ν‚€μ›Œλ“œμž…λ‹ˆλ‹€.

Keyword: λ³€μˆ˜ μœ ν˜•

Bool: Boolean λ³€μˆ˜(True, False)

Date: Date λ³€μˆ˜

Double: Double 뢀동 μ†Œμˆ˜μ  λ³€μˆ˜(1.79769313486232x10E308 - 4.94065645841247x10E-324)μž…λ‹ˆλ‹€.

Integer: Integer λ³€μˆ˜(-32768 - 32767)

Long: Long integer λ³€μˆ˜(-2,147,483,648 - 2,147,483,647)

Object: Object λ³€μˆ˜(이후에 Set을 ν†΅ν•΄μ„œλ§Œ 지정할 수 있음)

[Single]: Single 뢀동 μ†Œμˆ˜μ  λ³€μˆ˜μž…λ‹ˆλ‹€(3.402823x10E38 - 1.401298x10E-45). ν‚€μ›Œλ“œλ₯Ό μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ DefBoolμ—μ„œ DefVarκΉŒμ§€μ˜ 문을 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 경우 λ³€μˆ˜λŠ” Single둜 μ§€μ •λ©λ‹ˆλ‹€.

String: μ΅œλŒ€ 64,000개의 ASCII 문자λ₯Ό ν¬ν•¨ν•˜λŠ” String λ³€μˆ˜

Variant: Variant λ³€μˆ˜ μœ ν˜•(λͺ¨λ“  μœ ν˜•μ„ 포함할 수 있으며 μ •μ˜λ³„λ‘œ 섀정됨)

LibreOffice Basicμ—μ„œλŠ” λ³€μˆ˜λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ„ μ–Έν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 배열을 μ‚¬μš©ν•  수 있으렀면 λ¨Όμ € 배열을 μ„ μ–Έν•΄μ•Ό ν•©λ‹ˆλ‹€. λ³€μˆ˜λŠ” Dim 문을 μ‚¬μš©ν•˜μ—¬ μ„ μ–Έν•  수 있으며, μ΄λ•Œ μ—¬λŸ¬ 선언을 κ΅¬λΆ„ν•˜λ €λ©΄ μ‰Όν‘œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. λ³€μˆ˜ μœ ν˜•μ„ μ„ μ–Έν•˜λ €λ©΄ 이름 뒀에 μœ ν˜• μ„ μ–Έ 문자λ₯Ό μž…λ ₯ν•˜κ±°λ‚˜ ν•΄λ‹Ή ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

LibreOffice Basic은 μ§€μ •ν•œ λ³€μˆ˜ μœ ν˜•μ— μ˜ν•΄ μ§€μ •λ˜λŠ” 일차원 λ˜λŠ” 닀차원 배열을 μ§€μ›ν•©λ‹ˆλ‹€. νŽΈμ§‘ν•  λͺ©λ‘μ΄λ‚˜ ν…Œμ΄λΈ”μ΄ ν”„λ‘œκ·Έλž¨μ— ν¬ν•¨λœ κ²½μš°μ— 배열이 μ ν•©ν•©λ‹ˆλ‹€. λ°°μ—΄μ˜ μž₯점은 숫자 식 λ˜λŠ” λ³€μˆ˜λ‘œ 곡식화할 수 μžˆλŠ” 색인에 따라 κ°œλ³„ μš”μ†Œλ₯Ό 지정할 수 μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

Dim 문을 μ‚¬μš©ν•˜μ—¬ μ„ μ–Έν•œ λ°°μ—΄μ˜ 색인 λ²”μœ„λ₯Ό μ„€μ •ν•˜λŠ” λ°©λ²•μ—λŠ” λ‹€μŒ 두 가지가 μžˆμŠ΅λ‹ˆλ‹€.

DIM text(20) As String REM 21 elements numbered from 0 to 20

DIM text(5 to 25) As String REM 21 elements numbered from 5 to 25

DIM text$(-15 to 5) As String REM 21 elements (0 inclusive),

rem numbered from -15 to 5

λ³€μˆ˜ ν•„λ“œλŠ” μ„œλΈŒλ£¨ν‹΄ λ˜λŠ” ν•¨μˆ˜μ—μ„œ ReDim에 μ˜ν•΄ ν”„λ‘œμ‹œμ € μˆ˜μ€€μ—μ„œ μ°¨μ›ν™”λœ 경우 μœ ν˜•μ— 상관 없이 λ™μ μœΌλ‘œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.! 일반적으둜 λ°°μ—΄μ˜ λ²”μœ„λŠ” ν•œ 번만 μ„€μ •ν•  수 있으며 μˆ˜μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€. ν”„λ‘œμ‹œμ € λ‚΄μ—μ„œ 숫자 식과 ν•¨κ»˜ ReDim 문을 μ‚¬μš©ν•˜μ—¬ 배열을 μ„ μ–Έν•¨μœΌλ‘œμ¨ ν•„λ“œ λ²”μœ„ 크기λ₯Ό 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

예:

Sub ExampleRedim

Dim iVar() As Integer, iCount As Integer

ReDim iVar(5) As Integer

For iCount = 1 To 5

    iVar(iCount) = iCount

Next iCount

ReDim iVar(10) As Integer

For iCount = 1 To 10

    iVar(iCount) = iCount

Next iCount

End Sub