{"id":11386,"date":"2022-09-11T18:29:45","date_gmt":"2022-09-11T09:29:45","guid":{"rendered":"https:\/\/prodskill.com\/?p=11386"},"modified":"2022-10-11T11:42:21","modified_gmt":"2022-10-11T02:42:21","slug":"excel-vba-lecture-8-datatype","status":"publish","type":"post","link":"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/","title":{"rendered":"Excel VBA Course (8): Excel VBA Language Basics - Data Types, Data Structures"},"content":{"rendered":"<p>In this article, we look at the data type and the provided data structure among the basics of the Excel VBA language.<\/p>\n\n\n\n<p>This is a continuation of the previous article.<\/p>\n\n\n\n<p><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-7-syntax\/\">Excel VBA Course (7): Excel VBA Language Basics - Syntax<\/a><\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">&lt;&lt;Table of Contents&gt;&gt;<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/#33_%EC%9E%90%EB%A3%8C%ED%98%95\" >3.3. data type<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/#331_%EA%B8%B0%EB%B3%B8_%EC%9E%90%EB%A3%8C%ED%98%95\" >3.3.1. basic data type<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/#%EA%B8%B0%EB%B3%B8_%EC%9E%90%EB%A3%8C%ED%98%95_%EB%AA%A9%EB%A1%9D\" >List of basic data types<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/#Variant_%EB%8D%B0%EC%9D%B4%ED%84%B0_%ED%98%95%EC%8B%9D\" >Variant data type<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/#User-defined%EC%82%AC%EC%9A%A9%EC%9E%90_%EC%A0%95%EC%9D%98_%EB%8D%B0%EC%9D%B4%ED%84%B0_%ED%98%95%EC%8B%9D\" >User-defined data type<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/#332_%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0\" >3.3.2. data structure<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/#Array\" >Array<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/#Collection\" >Collection<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/#Dictionary\" >Dictionary<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"3.3._\uc790\ub8cc\ud615\"><span class=\"ez-toc-section\" id=\"33_%EC%9E%90%EB%A3%8C%ED%98%95\"><\/span>3.3. data type<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"3.3.1._\uae30\ubcf8_\uc790\ub8cc\ud615\"><span class=\"ez-toc-section\" id=\"331_%EA%B8%B0%EB%B3%B8_%EC%9E%90%EB%A3%8C%ED%98%95\"><\/span>3.3.1. basic data type<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The following table summarizes the data types supported by VB (or VBA). Among the table contents of the source below, Collection and Dictionary are explained separately in \u201cData Structure\u201d.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"\uae30\ubcf8_\uc790\ub8cc\ud615_\ubaa9\ub85d\"><span class=\"ez-toc-section\" id=\"%EA%B8%B0%EB%B3%B8_%EC%9E%90%EB%A3%8C%ED%98%95_%EB%AA%A9%EB%A1%9D\"><\/span>List of basic data types<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>source:&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/data-type-summary\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/data-type-summary<\/a><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>data format<\/strong><\/td><td><strong>storage capacity<\/strong><\/td><td><strong>range<\/strong><\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/boolean-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">Boolean<\/a><\/strong><\/td><td>2 bytes<\/td><td><strong>True<\/strong>&nbsp;or&nbsp;<strong>False<\/strong><\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/byte-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">Byte<\/a><\/strong><\/td><td>1 byte<\/td><td>0 ~ 255<\/td><\/tr><tr><td><strong>Collection<\/strong><\/td><td>Unknown<\/td><td>Unknown<\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/currency-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">Currency<\/a><\/strong>&nbsp;(scaled integer)<\/td><td>8 bytes<\/td><td>-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807<\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/date-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">Date<\/a><\/strong><\/td><td>8 bytes<\/td><td>January 1, 100, to December 31, 9999<br>(100-01-01 ~ 9999-12-31)<\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/decimal-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">Decimal<\/a><\/strong><\/td><td>14 bytes<\/td><td>+\/-79,228,162,514,264,337,593,543,950,335 with no decimal point<br><br>+\/-7.9228162514264337593543950335 with 28 places to the right of the decimal<br><br>Smallest non-zero number is+\/-0.0000000000000000000000000001<\/td><\/tr><tr><td><strong>Dictionary<\/strong><\/td><td>Unknown<\/td><td>Unknown<\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/double-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">Double<\/a><\/strong>&nbsp;(double-precision floating-point)<\/td><td>8 bytes<\/td><td>-1.79769313486231E308 to -4.94065645841247E-324 for negative values<br><br>4.94065645841247E-324 to 1.79769313486232E308 for positive values<\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/integer-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">Integer<\/a><\/strong><\/td><td>2 bytes<\/td><td>-32,768 to 32,767<\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/long-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">Long<\/a><\/strong>&nbsp;(Long integer)<\/td><td>4 bytes<\/td><td>-2,147,483,648 to 2,147,483,647<\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/longlong-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">LongLong<\/a><\/strong>&nbsp;(LongLong integer)<\/td><td>8 bytes<\/td><td>-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807<br><br>Valid on 64-bit platforms only.<\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/longptr-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">LongPtr<\/a><\/strong>&nbsp;(Long integer on 32-bit systems, LongLong integer on 64-bit systems)<\/td><td>4 bytes on 32-bit systems<br><br>8 bytes on 64-bit systems<\/td><td>-2,147,483,648 to 2,147,483,647 on 32-bit systems<br><br>-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 on 64-bit systems<\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/object-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">Object<\/a><\/strong><\/td><td>4 bytes<\/td><td>Any&nbsp;<strong>Object<\/strong>&nbsp;reference<\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/single-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">Single<\/a><\/strong>&nbsp;(single-precision floating-point)<\/td><td>4 bytes<\/td><td>-3.402823E38 to -1.401298E-45 for negative values<br><br>1.401298E-45 to 3.402823E38 for positive values<\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/string-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">String<\/a><\/strong>&nbsp;(variable-length)<\/td><td>10 bytes + string length<\/td><td>0 to approximately 2 billion<\/td><\/tr><tr><td><strong>String<\/strong>&nbsp;(fixed-length)<\/td><td>Length of string<\/td><td>1 to approximately 65,400<\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/variant-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">Variant<\/a><\/strong>&nbsp;(with numbers)<\/td><td>16 bytes<\/td><td>Any numeric value up to the range of a&nbsp;<strong>Double<\/strong><\/td><\/tr><tr><td><strong>Variant<\/strong>&nbsp;(with characters)<\/td><td>22 bytes + string length (24 bytes on 64-bit systems)<\/td><td>Same range as for variable-length&nbsp;<strong>String<\/strong><\/td><\/tr><tr><td><strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/how-to\/user-defined-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">User-defined<\/a><\/strong>&nbsp;(using&nbsp;<strong>Type<\/strong>)<\/td><td>Number required by elements<\/td><td>The range of each element is the same as the range of its data type.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Among them, the most frequently used data types are Int, Long, String, and Boolean.<\/p>\n\n\n\n<p>Variant and User-defined data types are further explained below.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"Variant_\ub370\uc774\ud130_\ud615\uc2dd\"><span class=\"ez-toc-section\" id=\"Variant_%EB%8D%B0%EC%9D%B4%ED%84%B0_%ED%98%95%EC%8B%9D\"><\/span><strong>Variant data type<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Variant data type is a special data type that can store and process multiple data types. If the data type is omitted when declaring a variable, it is specified as a Variant data type. For more information about Variant data format, refer to the URL below.<\/p>\n\n\n\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/variant-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/variant-data-type<\/a><\/p>\n\n\n\n<p>To check what type of data a Variant variable is storing during execution, use the VarType function.<\/p>\n\n\n\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/vartype-function\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/vartype-function<\/a><\/p>\n\n\n\n<p><strong>construction<\/strong><\/p>\n\n\n\n<p><strong>VarType(<\/strong><em>varname<\/em><strong>)<\/strong><\/p>\n\n\n\n<p>essential&nbsp;<em>varname<\/em>&nbsp;The argument is a Variant containing variables, excluding variables of user-defined types.<\/p>\n\n\n\n<p><strong>return<\/strong><strong>form<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>a constant<\/strong><\/td><td><strong>value<\/strong><\/td><td><strong>Explanation<\/strong><\/td><\/tr><tr><td><strong>vbEmpty<\/strong><\/td><td>0<\/td><td><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/glossary\/vbe-glossary#empty\" target=\"_blank\" rel=\"noreferrer noopener\">Empty<\/a>(not initialized)<\/td><\/tr><tr><td><strong>vbNull<\/strong><\/td><td>1<\/td><td><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/glossary\/vbe-glossary#null\" target=\"_blank\" rel=\"noreferrer noopener\">Null<\/a>(No data available)<\/td><\/tr><tr><td><strong>vbInteger<\/strong><\/td><td>2<\/td><td>essence<\/td><\/tr><tr><td><strong>vbLong<\/strong><\/td><td>3<\/td><td>long integer<\/td><\/tr><tr><td><strong>vbSingle<\/strong><\/td><td>4<\/td><td>single-precision floating-point number<\/td><\/tr><tr><td><strong>vbDouble<\/strong><\/td><td>5<\/td><td>double precision floating point number<\/td><\/tr><tr><td><strong>vbCurrency<\/strong><\/td><td>6<\/td><td>currency value<\/td><\/tr><tr><td><strong>vbDate<\/strong><\/td><td>7<\/td><td>date value<\/td><\/tr><tr><td><strong>vbString<\/strong><\/td><td>8<\/td><td>string<\/td><\/tr><tr><td><strong>vbObject<\/strong><\/td><td>9<\/td><td>individual<\/td><\/tr><tr><td><strong>vbError<\/strong><\/td><td>10<\/td><td>error value<\/td><\/tr><tr><td><strong>vbBoolean<\/strong><\/td><td>11<\/td><td>Boolean value<\/td><\/tr><tr><td><strong>vbVariant<\/strong><\/td><td>12<\/td><td><strong>Variant<\/strong>(variant&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/glossary\/vbe-glossary#array\" target=\"_blank\" rel=\"noreferrer noopener\">Arrangement<\/a>used only)<\/td><\/tr><tr><td><strong>vbDataObject<\/strong><\/td><td>13<\/td><td>data access object<\/td><\/tr><tr><td><strong>vbDecimal<\/strong><\/td><td>14<\/td><td>decimal value<\/td><\/tr><tr><td><strong>vbByte<\/strong><\/td><td>17<\/td><td>byte value<\/td><\/tr><tr><td><strong>vbArray<\/strong><\/td><td>8192<\/td><td>Arrangement<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Personally, I don&#039;t use the Variant data format well, and I mainly use it when reading and writing sheet data at once. For how to read and write a large amount of sheet data using variant array, refer to the article below.<\/p>\n\n\n\n<p><a href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-read\/\">VBA Coding Pattern: Range Loop - Read<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-write\/\">VBA Coding Pattern: Range Loop - Write<\/a><\/p>\n\n\n\n<p>This is an example code using Variant data type. It shows that it can handle integer, string, real number, and date data types.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">Sub VariantTest()\n    Dim a As Variant '\ub370\uc774\ud130 \ud615\uc2dd\uc744 \uc0dd\ub7b5\ud558\uba74 Variant \ud615\uc2dd\uc784\n    a = 1: Debug.Print a\n    a = \"1\": Debug.Print a\n    a = 1.1: Debug.Print a\n    a = CDate(\"2021-07-31\"): Debug.Print a\nEnd Sub<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"User-defined(\uc0ac\uc6a9\uc790_\uc815\uc758)_\ub370\uc774\ud130_\ud615\uc2dd\"><span class=\"ez-toc-section\" id=\"User-defined%EC%82%AC%EC%9A%A9%EC%9E%90_%EC%A0%95%EC%9D%98_%EB%8D%B0%EC%9D%B4%ED%84%B0_%ED%98%95%EC%8B%9D\"><\/span><strong>User-defined data type<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>You can declare and use user-defined data types. Declare user-defined data type with &#039;Type&#039; keyword similar to &#039;struct&#039; in C language. User-defined data types are not objects, so when declared, an instance is created, memory is allocated, and values can be entered.<\/p>\n\n\n\n<p>For more information on User-defined data format, refer to the URL below.<\/p>\n\n\n\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/how-to\/user-defined-data-type\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/how-to\/user-defined-data-type<\/a><\/p>\n\n\n\n<p>Example codes for user-defined data types are as follows.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">Type EmployeeRecord    ' \uc0ac\uc6a9\uc790 \uc815\uc758 \ud615\uc2dd\uc744 \ub9cc\ub4ed\ub2c8\ub2e4.\n    ID As Integer    ' \ub370\uc774\ud130 \ud615\uc2dd\uc758 \uc694\uc18c\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.\n    Name As String\n    Address As String\n    Phone As Long\n    HireDate As Date\nEnd Type\n\nSub CreateRecord()\n    Dim MyRecord As EmployeeRecord    ' \ubcc0\uc218\ub97c \uc120\uc5b8\ud569\ub2c8\ub2e4.\n    MyRecord.ID = 12003    ' \uc694\uc18c\uc5d0 \uac12\uc744 \ud560\ub2f9\ud569\ub2c8\ub2e4.\n    MyRecord.Name = \"Andy\"\n    MyRecord.HireDate = CDate(\"2021-07-31\")\nEnd Sub<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"3.3.2._\uc790\ub8cc\uad6c\uc870\"><span class=\"ez-toc-section\" id=\"332_%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0\"><\/span>3.3.2. data structure<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Commonly used data structures include Array, Collection, and Dictionary. Let&#039;s take a look at each.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"Array\"><span class=\"ez-toc-section\" id=\"Array\"><\/span><strong>Array<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>It has a fixed number of Items. Since it is not an object, declaring it creates an instance. When declaring, the number of dimensions and the lower limit and upper limit of each dimension can be specified, or the dimensions and range of an array can be dynamically changed at runtime. If you specify only the number of items without specifying the lower and upper bounds of each dimension, the lower bound is 0 by default. If Option Base 1 is used, the default lower bound is 1.<\/p>\n\n\n\n<p>declaration example code<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">Dim DayArray(50)\nDim Matrix(3, 4) As Integer\nDim MyMatrix(1 To 5, 4 To 9, 3 To 5) As Double<\/pre>\n\n\n\n<p>Declare lower\/upper bounds for each dimension, check: use LBound, UBound<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">Dim A(1 To 100, 0 To 3, -3 To 4) \nLBound(A, 1) ->  1,  UBound(A, 1) -> 100 ' 1\ucc28\uc6d0 \ud558\ud55c\/\uc0c1\ud55c\nLBound(A, 2) ->  0,  UBound(A, 2) -> 3   ' 2\ucc28\uc6d0 \ud558\ud55c\/\uc0c1\ud55c\nLBound(A, 3) -> -3,  UBound(A, 3) -> 4   ' 3\ucc28\uc6d0 \ud558\ud55c\/\uc0c1\ud55c<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>Dimension size change: Change the dimension size of a dynamic array with the Redim statement.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">Dim MyArray() As Integer ' \ub3d9\uc801 \ubc30\uc5f4\uc744 \uc120\uc5b8\ud569\ub2c8\ub2e4. \nRedim MyArray(5) ' 5\uac1c\uc758 \uc694\uc18c\ub97c \ud560\ub2f9\ud569\ub2c8\ub2e4. \nRedim Preserve MyArray(15) ' 15\uac1c\uc758 \uc694\uc18c\ub85c \ud06c\uae30\ub97c \ubcc0\uacbd\ud569\ub2c8\ub2e4.<\/pre>\n\n\n\n<p>Item Loop (For Next)<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"5-7\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">'Split &amp; Trim \ucc98\ub9ac\nPublic Function SplitTrim(aExpression As String, aDelimeter As String) As String()\n    Dim saOut() As String, i As Integer\n    saOut = Split(aExpression, aDelimeter)\n    For i = LBound(saOut) To UBound(saOut)\n        saOut(i) = Trim(saOut(i))\n    Next i\n\n    SplitTrim = saOut\nEnd Function<\/pre>\n\n\n\n<p>Initialization: Initialize array variables with the Erase statement.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">' \ubc30\uc5f4 \ubcc0\uc218\ub97c \uc120\uc5b8\ud569\ub2c8\ub2e4.\nDim NumArray(10) As Integer    ' \uc815\uc218 \ubc30\uc5f4\uc785\ub2c8\ub2e4.\nDim StrVarArray(10) As String    ' \ubcc0\uc218 \ubb38\uc790\uc5f4 \ubc30\uc5f4\uc785\ub2c8\ub2e4.\nDim StrFixArray(10) As String * 10    ' \uace0\uc815 \ubb38\uc790\uc5f4 \ubc30\uc5f4\uc785\ub2c8\ub2e4.\nDim VarArray(10) As Variant    ' Variant \ubc30\uc5f4\uc785\ub2c8\ub2e4.\nDim DynamicArray() As Integer    ' \ub3d9\uc801 \ubc30\uc5f4\uc785\ub2c8\ub2e4.\nReDim DynamicArray(10)    ' \uc800\uc7a5 \uacf5\uac04\uc744 \ud560\ub2f9\ud569\ub2c8\ub2e4.\nErase NumArray    ' 0\uc73c\ub85c \uc9c0\uc815\ub41c \uac01 \uc694\uc18c\uc785\ub2c8\ub2e4.\nErase StrVarArray    ' \uae38\uc774\uac00 0\uc778 \ubb38\uc790\uc5f4 (\"\")\ub85c \uc9c0\uc815\ub41c \uac01 \uc694\uc18c\uc785\ub2c8\ub2e4.    \nErase StrFixArray    ' 0\uc73c\ub85c \uc9c0\uc815\ub41c \uac01 \uc694\uc18c\uc785\ub2c8\ub2e4.\nErase VarArray    ' Empty\ub85c \uc9c0\uc815\ub41c \uac01 \uc694\uc18c\uc785\ub2c8\ub2e4.\nErase DynamicArray    ' \ubc30\uc5f4\uc5d0 \uc758\ud574 \uc0ac\uc6a9\ub418\ub294 \ube48 \uba54\ubaa8\ub9ac\uc785\ub2c8\ub2e4.<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"Collection\"><span class=\"ez-toc-section\" id=\"Collection\"><\/span><strong>Collection<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>The Collection class is similar to a dynamic array. A variable number of unique items can be Added and Removed. Because it is an object<a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/set-statement\" target=\"_blank\" rel=\"noreferrer noopener\">Set<\/a>\u201d and \u201cNew\u201d keywords to create an instance. In the Visual Basic language, when creating a reference to an object or assigning a new reference, you must \u201c<a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/set-statement\" target=\"_blank\" rel=\"noreferrer noopener\">Set<\/a>\u201d keyword must be used, and \u201cSet\u201d keyword is not needed when assigning a value to a variable. You need to distinguish between handling objects and variables to avoid grammatical errors. You can make mistakes often, so be careful.<\/p>\n\n\n\n<p>Refer to the table below for codes for each task, such as collection object declaration, instance creation, and item addition.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Task<\/strong><\/td><td><strong>Sample Code<\/strong><\/td><\/tr><tr><td>Declaration<\/td><td>Dim o Col As Collection<\/td><\/tr><tr><td>Instance creation<\/td><td>Set oCol = New Collection<\/td><\/tr><tr><td>Instance creation at the same time as declaration<\/td><td>Dim o Col As New Collection<\/td><\/tr><tr><td>Add Item<\/td><td>oCol.Add \u201cApple\u201d<\/td><\/tr><tr><td>Access item by index<\/td><td>oCol(1)<\/td><\/tr><tr><td>Number of Items<\/td><td>oCol.Count<\/td><\/tr><tr><td>Item Loop (For)<\/td><td>Dim l As Long<br>For l = 1 to oCol.Count<br>&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print oCol(l)<br>Next<\/td><\/tr><tr><td>Item Loop (For Each)<\/td><td>Dim fruit As Variant<br>For Each fruit in oCol<br>&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print fruit<br>Next<\/td><\/tr><tr><td>Remove item (designate index)<\/td><td>oCol. Remove(1)<\/td><\/tr><tr><td>Remove Instance<\/td><td>Set oCol = Nothing<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Example code using Collection is as follows. For reference, Items in Collection start from 1.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">Sub CollectionTest()\n    Dim oCol As Collection\n    Set oCol = New Collection\n    \n    oCol.Add \"Apple\"\n    oCol.Add \"Strawberry\"\n    oCol.Add \"Lemon\"\n    oCol.Add \"Banana\"\n    \n    Debug.Print oCol(1)\n    Debug.Print oCol.Item(1)\n    Debug.Print \"----------\"\n\n    Dim l As Long\n    For l = 1 To oCol.Count\n        Debug.Print oCol(l)\n    Next\n\n    Debug.Print \"----------\"\n\n    oCol.Remove (1)\n\n    Dim fruit As Variant\n    For Each fruit In oCol\n        Debug.Print fruit\n    Next\n\n    Set oCol = Nothing\nEnd Sub\n\n'\ucd9c\ub825\nApple\nApple\n----------\nApple\nStrawberry\nLemon\nBanana\n----------\nStrawberry\nLemon\nBanana<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"Dictionary\"><span class=\"ez-toc-section\" id=\"Dictionary\"><\/span><strong>Dictionary<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>It is possible to manage variable unique items of Key-Value structure, and to add\/remove items dynamically.<\/p>\n\n\n\n<p>It is a data structure similar to Dictionary in Python language, HashMap in C++, and HashMap in Java. When accessing by key value, the performance is O(1).<\/p>\n\n\n\n<p>Dictionary class is not provided by default. To use it in the Early binding method, you must first refer to \u201cMicrosoft Scripting Runtime\u201d. To use in late binding method, create an instance through CreateObject and use it.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95.png\"><img loading=\"lazy\" decoding=\"async\" width=\"524\" height=\"338\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95.png\" alt=\"Dictionary class \uc0ac\uc6a9\uc744 \uc704\ud55c &quot;Microsoft Scripting Runtime&quot; \ucc38\uc870 \ucd94\uac00\" class=\"wp-image-11388\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95.png 524w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95-300x194.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95-18x12.png 18w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95-24x15.png 24w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95-36x23.png 36w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95-48x31.png 48w\" sizes=\"auto, (max-width: 524px) 100vw, 524px\" \/><\/a><figcaption>Added \u201cMicrosoft Scripting Runtime\u201d reference for using Dictionary class<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Refer to the table below for code for each task, such as dictionary object declaration, instance creation, and item addition.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Task<\/strong><\/td><td><strong>Sample Code<\/strong><\/td><\/tr><tr><td>Declaration (early binding)<\/td><td>Dim oDic As Dictionary<\/td><\/tr><tr><td>Instance creation (early binding)<\/td><td>Set oDic = New Dictionary<\/td><\/tr><tr><td>Declaration (late binding)<\/td><td>Dim oDic As Object<\/td><\/tr><tr><td>Instance creation (late binding)<\/td><td>Set oDic = CreateObject(\u201cScripting.Dictionary\u201d)<\/td><\/tr><tr><td>Add Item<\/td><td>oDic.Add \u201cApples\u201d, 50<\/td><\/tr><tr><td>Change Value<\/td><td>oDic(\u201cApples\u201d) = 60<\/td><\/tr><tr><td>Get Value<\/td><td>appleCount = oDic(\u201cApples\u201d)<\/td><\/tr><tr><td>Check if the key exists<\/td><td>oDic.Exists(\u201cApples\u201d)<\/td><\/tr><tr><td>Delete Item<\/td><td>oDic.Remove(\u201cApples\u201d)<\/td><\/tr><tr><td>Delete all Items<\/td><td>oDic. RemoveAll<\/td><\/tr><tr><td>Number of Items<\/td><td>oDic. Count<\/td><\/tr><tr><td>Item Loop (For Each)<\/td><td>Dim key As Variant<br>For Each key in oDic. Keys<br>&nbsp;&nbsp;&nbsp;&nbsp;Debug. Print key, oDic(key)<br>Next key<\/td><\/tr><tr><td>Item Loop (For, Early binding only)<\/td><td>Dim l As Long<br>For l = 0 To oDic.Count -1<br>&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print oDic.Keys(l), oDic.Items(l)<br>Next l<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Example code using Dictionary is as follows. For reference, Items in the Dictionary start from 0.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"23-24\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">Sub DictionaryTest()\n    Dim oDic As Dictionary\n    Set oDic = New Dictionary\n\n    oDic.Add \"A\", \"Apple\"\n    oDic.Add \"S\", \"Strawberry\"\n    oDic.Add \"L\", \"Lemon\"\n    oDic.Add \"B\", \"Banana\"\n\n    Debug.Print oDic(\"A\")\n    Debug.Print oDic.Items(0)\n    Debug.Print \"----------\"\n\n    Dim l As Long\n    For l = 0 To oDic.Count - 1\n        Debug.Print oDic.Items(l)\n    Next\n    \n    Debug.Print \"----------\"\n    \n    oDic.Remove (\"A\")\n\n    Dim key As Variant, fruit As String\n    For Each key In oDic.Keys\n        fruit = oDic(key)\n        Debug.Print fruit\n    Next\n\n    Set oDic = Nothing\nEnd Sub\n\n'\ucd9c\ub825\nApple\nApple\n----------\nApple\nStrawberry\nLemon\nBanana\n----------\nStrawberry\nLemon\nBanana<\/pre>\n\n\n\n<p>When searching a Dictionary object with the For Loop statement, the variable to contain the key value can only be of Variant or Object type. In the example above, the code on lines 23 and 24 used the Variant format.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>In this article, we looked at VBA data types and data structures. In particular, Collection and Dictionary are very likely to be used frequently, so please familiarize yourself with them. Next, we will look at how-tos that are good to know when coding VBA.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>&lt;&lt; Related article list &gt;&gt;<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-preface\/\">Start the Excel VBA course. (Lecture notice, feat. Why we recommend Excel VBA)<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-1-overview\/\">Excel VBA Course(1): Overview of Excel VBA<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-2-basic\/\">Excel VBA Course (2): Excel VBA Basics<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-3-object-model\/\">Excel VBA Course (3): Excel Object Model<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-4-handling-object-model\/\">Excel VBA Course (4): Working with Excel Object Model<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-5-excel-file-extension-vbe-font\/\">Excel VBA Course (5): Excel File Extension, VBE, Font Settings<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-6-variable\/\">Excel VBA Course (6): Excel VBA Language Basics - Variables<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-7-syntax\/\">Excel VBA Course (7): Excel VBA Language Basics - Syntax<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/\">Excel VBA Course (8): Excel VBA Language Basics - Data Types, Data Structures<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-9-how-to\/\">Excel VBA Courses (9): Excel VBA How-To<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-10-self-developed-tools\/\">Excel VBA Course (10): Tools developed and used with Excel VBA<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-toc\/\">Full Table of Contents for Excel VBA Courses<\/a><\/li><\/ul>","protected":false},"excerpt":{"rendered":"<p>In this article, we look at the data type and the provided data structure among the basics of the Excel VBA language. This is a continuation of the previous article. Excel VBA Lecture (7): Basic Excel VBA Language - Syntax 3.3. Data types 3.3.1. Basic Data Types Data types supported by VB (or VBA) are summarized in the following table. Collection,...<\/p>","protected":false},"author":1,"featured_media":11388,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[17],"class_list":["post-11386","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-excel-vba-tutorial","tag-vba"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\uc5d1\uc140 VBA \uac15\uc88c(8): \uc5d1\uc140 VBA \uc5b8\uc5b4 \uae30\ubcf8-\uc790\ub8cc\ud615(Data type), \uc790\ub8cc\uad6c\uc870(Data structure) - \uc0dd\uc0b0\uc131 Skill<\/title>\n<meta name=\"description\" content=\"\uc5d1\uc140 VBA \uc5b8\uc5b4 \uae30\ubcf8 \uc911 \uc790\ub8cc\ud615(Data type)\uacfc \uc81c\uacf5\ub418\ub294 \uc790\ub8cc\uad6c\uc870(Data structure)\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf8\ub2e4. Variant, User-defined \ub370\uc774\ud130 \ud615\uc2dd\uacfc Array, Collection, Dictionary\uc5d0 \ub300\ud574 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\uc5d1\uc140 VBA \uac15\uc88c(8): \uc5d1\uc140 VBA \uc5b8\uc5b4 \uae30\ubcf8-\uc790\ub8cc\ud615(Data type), \uc790\ub8cc\uad6c\uc870(Data structure) - \uc0dd\uc0b0\uc131 Skill\" \/>\n<meta property=\"og:description\" content=\"\uc5d1\uc140 VBA \uc5b8\uc5b4 \uae30\ubcf8 \uc911 \uc790\ub8cc\ud615(Data type)\uacfc \uc81c\uacf5\ub418\ub294 \uc790\ub8cc\uad6c\uc870(Data structure)\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf8\ub2e4. Variant, User-defined \ub370\uc774\ud130 \ud615\uc2dd\uacfc Array, Collection, Dictionary\uc5d0 \ub300\ud574 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/\" \/>\n<meta property=\"og:site_name\" content=\"\uc0dd\uc0b0\uc131 Skill\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-11T09:29:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-11T02:42:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95.png\" \/>\n\t<meta property=\"og:image:width\" content=\"524\" \/>\n\t<meta property=\"og:image:height\" content=\"338\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Zerom\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Zerom\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/\"},\"author\":{\"name\":\"Zerom\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\"},\"headline\":\"\uc5d1\uc140 VBA \uac15\uc88c(8): \uc5d1\uc140 VBA \uc5b8\uc5b4 \uae30\ubcf8-\uc790\ub8cc\ud615(Data type), \uc790\ub8cc\uad6c\uc870(Data structure)\",\"datePublished\":\"2022-09-11T09:29:45+00:00\",\"dateModified\":\"2022-10-11T02:42:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/\"},\"wordCount\":763,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\"},\"image\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-95.png\",\"keywords\":[\"\uc5d1\uc140VBA\"],\"articleSection\":[\"\uc5d1\uc140 VBA \uac15\uc88c\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/\",\"url\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/\",\"name\":\"\uc5d1\uc140 VBA \uac15\uc88c(8): \uc5d1\uc140 VBA \uc5b8\uc5b4 \uae30\ubcf8-\uc790\ub8cc\ud615(Data type), \uc790\ub8cc\uad6c\uc870(Data structure) - \uc0dd\uc0b0\uc131 Skill\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-95.png\",\"datePublished\":\"2022-09-11T09:29:45+00:00\",\"dateModified\":\"2022-10-11T02:42:21+00:00\",\"description\":\"\uc5d1\uc140 VBA \uc5b8\uc5b4 \uae30\ubcf8 \uc911 \uc790\ub8cc\ud615(Data type)\uacfc \uc81c\uacf5\ub418\ub294 \uc790\ub8cc\uad6c\uc870(Data structure)\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf8\ub2e4. Variant, User-defined \ub370\uc774\ud130 \ud615\uc2dd\uacfc Array, Collection, Dictionary\uc5d0 \ub300\ud574 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/#primaryimage\",\"url\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-95.png\",\"contentUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-95.png\",\"width\":524,\"height\":338},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-lecture-8-datatype\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\uc5d1\uc140 VBA \uac15\uc88c(8): \uc5d1\uc140 VBA \uc5b8\uc5b4 \uae30\ubcf8-\uc790\ub8cc\ud615(Data type), \uc790\ub8cc\uad6c\uc870(Data structure)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#website\",\"url\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/\",\"name\":\"\uc0dd\uc0b0\uc131 Skill\",\"description\":\"Meta Thinking, Meta Working\",\"publisher\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\",\"name\":\"Zerom\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/productivity_clockgear.png\",\"url\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/productivity_clockgear.png\",\"contentUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/productivity_clockgear.png\",\"width\":512,\"height\":512,\"caption\":\"Zerom\"},\"logo\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/productivity_clockgear.png\"},\"url\":\"https:\\\/\\\/prodskill.com\\\/en\\\/author\\\/proda\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Excel VBA Course (8): Excel VBA Language Basics - Data Types, Data Structures - Productivity Skills","description":"This article examines the fundamentals of Excel VBA, including data types and provided data structures. You&#039;ll learn about variants, user-defined data types, arrays, collections, and dictionaries.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/","og_locale":"en_US","og_type":"article","og_title":"\uc5d1\uc140 VBA \uac15\uc88c(8): \uc5d1\uc140 VBA \uc5b8\uc5b4 \uae30\ubcf8-\uc790\ub8cc\ud615(Data type), \uc790\ub8cc\uad6c\uc870(Data structure) - \uc0dd\uc0b0\uc131 Skill","og_description":"\uc5d1\uc140 VBA \uc5b8\uc5b4 \uae30\ubcf8 \uc911 \uc790\ub8cc\ud615(Data type)\uacfc \uc81c\uacf5\ub418\ub294 \uc790\ub8cc\uad6c\uc870(Data structure)\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf8\ub2e4. Variant, User-defined \ub370\uc774\ud130 \ud615\uc2dd\uacfc Array, Collection, Dictionary\uc5d0 \ub300\ud574 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.","og_url":"https:\/\/prodskill.com\/en\/excel-vba-lecture-8-datatype\/","og_site_name":"\uc0dd\uc0b0\uc131 Skill","article_published_time":"2022-09-11T09:29:45+00:00","article_modified_time":"2022-10-11T02:42:21+00:00","og_image":[{"width":524,"height":338,"url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95.png","type":"image\/png"}],"author":"Zerom","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Zerom","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/#article","isPartOf":{"@id":"https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/"},"author":{"name":"Zerom","@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"headline":"\uc5d1\uc140 VBA \uac15\uc88c(8): \uc5d1\uc140 VBA \uc5b8\uc5b4 \uae30\ubcf8-\uc790\ub8cc\ud615(Data type), \uc790\ub8cc\uad6c\uc870(Data structure)","datePublished":"2022-09-11T09:29:45+00:00","dateModified":"2022-10-11T02:42:21+00:00","mainEntityOfPage":{"@id":"https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/"},"wordCount":763,"commentCount":0,"publisher":{"@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"image":{"@id":"https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/#primaryimage"},"thumbnailUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95.png","keywords":["\uc5d1\uc140VBA"],"articleSection":["\uc5d1\uc140 VBA \uac15\uc88c"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/","url":"https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/","name":"Excel VBA Course (8): Excel VBA Language Basics - Data Types, Data Structures - Productivity Skills","isPartOf":{"@id":"https:\/\/prodskill.com\/ko\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/#primaryimage"},"image":{"@id":"https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/#primaryimage"},"thumbnailUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95.png","datePublished":"2022-09-11T09:29:45+00:00","dateModified":"2022-10-11T02:42:21+00:00","description":"This article examines the fundamentals of Excel VBA, including data types and provided data structures. You&#039;ll learn about variants, user-defined data types, arrays, collections, and dictionaries.","breadcrumb":{"@id":"https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/#primaryimage","url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95.png","contentUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-95.png","width":524,"height":338},{"@type":"BreadcrumbList","@id":"https:\/\/prodskill.com\/excel-vba-lecture-8-datatype\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/prodskill.com\/ko\/"},{"@type":"ListItem","position":2,"name":"\uc5d1\uc140 VBA \uac15\uc88c(8): \uc5d1\uc140 VBA \uc5b8\uc5b4 \uae30\ubcf8-\uc790\ub8cc\ud615(Data type), \uc790\ub8cc\uad6c\uc870(Data structure)"}]},{"@type":"WebSite","@id":"https:\/\/prodskill.com\/ko\/#website","url":"https:\/\/prodskill.com\/ko\/","name":"Productivity Skills","description":"Meta Thinking, Meta Working","publisher":{"@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/prodskill.com\/ko\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd","name":"Zerom","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png","url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png","contentUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png","width":512,"height":512,"caption":"Zerom"},"logo":{"@id":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png"},"url":"https:\/\/prodskill.com\/en\/author\/proda\/"}]}},"_links":{"self":[{"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/posts\/11386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/comments?post=11386"}],"version-history":[{"count":0,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/posts\/11386\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/media\/11388"}],"wp:attachment":[{"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/media?parent=11386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/categories?post=11386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/tags?post=11386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}