{"id":11504,"date":"2022-09-18T23:32:08","date_gmt":"2022-09-18T14:32:08","guid":{"rendered":"https:\/\/prodskill.com\/?p=11504"},"modified":"2022-10-04T22:45:46","modified_gmt":"2022-10-04T13:45:46","slug":"excel-vba-coding-pattern-range-loop-write","status":"publish","type":"post","link":"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-write\/","title":{"rendered":"VBA Coding Pattern: Range Loop - Write"},"content":{"rendered":"<p>Let&#039;s look at the contents of Range Loop-Write among VBA coding patterns.<\/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-coding-pattern-range-loop-write\/#%EC%9A%94%EC%95%BD\" >summary<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-write\/#%ED%85%8C%EC%8A%A4%ED%8A%B8_%EB%B0%A9%EB%B2%95\" >test method<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-write\/#%EA%B8%B0%EB%B3%B8_%ED%8C%A8%ED%84%B4-Nested_Loop\" >Basic Pattern - Nested Loop<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-write\/#%EB%8B%A8%EC%9D%BC_Loop%EB%A5%BC_%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94_%ED%8C%A8%ED%84%B4-Single_Loop1\" >Patterns using a single Loop - Single Loop(1)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-write\/#%EB%8B%A8%EC%9D%BC_Loop%EB%A5%BC_%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94_%ED%8C%A8%ED%84%B4-Single_Loop2\" >Patterns using a single Loop - Single Loop(2)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-write\/#memory%EC%97%90_%EC%9E%88%EB%8A%94_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC_%ED%95%9C%EB%B2%88%EC%97%90_Range%EC%97%90_%EC%93%B0%EB%8A%94_%EB%B0%A9%EB%B2%95-Variant_Array_%EC%82%AC%EC%9A%A9\" >How to write data in memory to Range at once - Using Variant Array<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-write\/#%EC%84%B1%EB%8A%A5%EB%B9%84%EA%B5%90\" >Performance Comparison<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-write\/#Range_%EC%93%B0%EA%B8%B0_%EC%84%B1%EB%8A%A5_%EB%B9%84%EA%B5%90\" >Range Write Performance Comparison<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-write\/#Range_%EC%9D%BD%EA%B8%B0_%EC%84%B1%EB%8A%A5_%EB%B9%84%EA%B5%90\" >Range read performance comparison<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"\uc694\uc57d\"><span class=\"ez-toc-section\" id=\"%EC%9A%94%EC%95%BD\"><\/span>summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Introduces a coding pattern that improves performance when writing a lot of data in an Excel sheet using Variant Array.<\/p>\n\n\n\n<p>How to improve performance when reading a lot of data from an Excel sheet has already been covered in 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<blockquote class=\"wp-block-quote is-style-default is-layout-flow wp-block-quote-is-layout-flow\"><p>One-line summary: Reading from a Variant Array is incomparably faster than a Loop.<\/p><\/blockquote>\n\n\n\n<p>This time, we will look at how to write data to an Excel sheet from within VBA code. The performance of each method is compared at the bottom.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\ud14c\uc2a4\ud2b8_\ubc29\ubc95\"><span class=\"ez-toc-section\" id=\"%ED%85%8C%EC%8A%A4%ED%8A%B8_%EB%B0%A9%EB%B2%95\"><\/span>test method<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Run the test in the following way.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Values are written to each cell while increasing rows and columns based on Range(\u201cB2\u201d).<\/li><li>The value recorded in the cell is in the format of \u201crow number, column number\u201d.<\/li><li>The number of columns is set to fixed (10 columns).<\/li><li>Repeat while increasing the number of rows from 10, 100, 500, 1000 to 100,000.<\/li><li>Since the number of cells is the number of rows x 10, we test up to 1 million cells.<\/li><\/ul>\n\n\n\n<p>The test code can be downloaded from github.<\/p>\n\n\n\n<p>github file link:&nbsp;<a href=\"https:\/\/github.com\/DAToolset\/VBACode\/raw\/main\/VBA%20%EC%BD%94%EB%94%A9%20%ED%8C%A8%ED%84%B4-Range%20Loop(Write).xlsm\" target=\"_blank\" rel=\"noreferrer noopener\">DAToolset\/VBACode\/VBA Coding Patterns - Range Loop(Write).xlsm<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\uae30\ubcf8_\ud328\ud134-Nested_Loop\"><span class=\"ez-toc-section\" id=\"%EA%B8%B0%EB%B3%B8_%ED%8C%A8%ED%84%B4-Nested_Loop\"><\/span>Basic Pattern - Nested Loop<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The basic pattern uses the Loop statement for the column inside the Loop statement for the row while increasing the offset of the row and column based on the starting cell.<\/p>\n\n\n\n<p>The detailed code is as follows. previous post&nbsp;<a href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-read\/\">VBA Coding Pattern: Range Loop - Read<\/a>&nbsp;and the code is almost the same, and read is changed to write. (line 10)<\/p>\n\n\n\n<p>Since the Text of the Range object is a read-only property, a value cannot be entered, so the value is entered directly into the Range object.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"10\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">'* \uae30\ubcf8 \ud328\ud134(Nested Loop)\nPublic Sub NestedLoop(aTargetRowCnt As Long)\n    Dim lRowOffset As Long, lColOffset As Long, oBaseRange As Range, sVal As String\n    Set oBaseRange = Range(\"B2\")\n    lRowOffset = 0\n    For lRowOffset = 0 To aTargetRowCnt '\uc77d\ub294 \ud589\uc758 \uc218(\ucda9\ubd84\ud788 \ud070 \uc218\ub85c \uc9c0\uc815\ud558\uace0 Loop \ub0b4\ubd80\uc5d0\uc11c \uc885\ub8cc \uc870\uac74 \uc124\uc815)\n        If Trim(oBaseRange.Offset(lRowOffset, 0).Value) = \"\" Then Exit For 'Loop \uc885\ub8cc \uc870\uac74\n        For lColOffset = 0 To 9 '\uc77d\ub294 \uc5f4\uc758 \uc218\n            'cell \ub2e8\uc704\ub85c \uc4f0\ub294 \ucf54\ub4dc \uc608\uc2dc\n            oBaseRange.Offset(lRowOffset, lColOffset) = CStr(lRowOffset + 1) + \",\" + CStr(lColOffset + 1)\n        Next lColOffset\n    Next lRowOffset\nEnd Sub<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\ub2e8\uc77c Loop\ub97c \uc0ac\uc6a9\ud558\ub294 \ud328\ud134: Single Loop(1), Text \uc0ac\uc6a9\"><span class=\"ez-toc-section\" id=\"%EB%8B%A8%EC%9D%BC_Loop%EB%A5%BC_%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94_%ED%8C%A8%ED%84%B4-Single_Loop1\"><\/span>Patterns using a single Loop - Single Loop(1)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The internal loop statement for the columns was replaced with as many statements as the number of columns (lines 11 to 20). Similarly, we entered values directly into the Range object.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"11-20\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">'\ub2e8\uc77c Loop\ub97c \uc0ac\uc6a9\ud558\ub294 \ud328\ud134: Single Loop(1)\nPublic Sub SingleLoop1(aTargetRowCnt As Long)\n    Dim lRowOffset As Long, lColOffset As Long, oBaseRange As Range, sVal As String\n    Set oBaseRange = Range(\"B2\")\n    lRowOffset = 0\n    Dim lRowCount As Long, lColCount As Long, oHeaderRange As Range\n    Set oHeaderRange = oBaseRange.Offset(-1, 0)\n    lRowCount = aTargetRowCnt\n    lColCount = Range(oHeaderRange, oHeaderRange.End(xlToRight)).Columns.Count\n    For lRowOffset = 0 To lRowCount - 1 '\uc77d\ub294 \ud589\uc758 \uc218 (Offset\uc740 0\ubd80\ud130 \uc2dc\uc791\ud558\ubbc0\ub85c Count -1 \uae4c\uc9c0 Loop \uc2e4\ud589\ud574\uc57c \ud568)\n        oBaseRange.Offset(lRowOffset, 0) = CStr(lRowOffset + 1) + \",1\"\n        oBaseRange.Offset(lRowOffset, 1) = CStr(lRowOffset + 1) + \",2\"\n        oBaseRange.Offset(lRowOffset, 2) = CStr(lRowOffset + 1) + \",3\"\n        oBaseRange.Offset(lRowOffset, 3) = CStr(lRowOffset + 1) + \",4\"\n        oBaseRange.Offset(lRowOffset, 4) = CStr(lRowOffset + 1) + \",5\"\n        oBaseRange.Offset(lRowOffset, 5) = CStr(lRowOffset + 1) + \",6\"\n        oBaseRange.Offset(lRowOffset, 6) = CStr(lRowOffset + 1) + \",7\"\n        oBaseRange.Offset(lRowOffset, 7) = CStr(lRowOffset + 1) + \",8\"\n        oBaseRange.Offset(lRowOffset, 8) = CStr(lRowOffset + 1) + \",9\"\n        oBaseRange.Offset(lRowOffset, 9) = CStr(lRowOffset + 1) + \",10\"\n    Next lRowOffset\nEnd Sub<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\ub2e8\uc77c Loop\ub97c \uc0ac\uc6a9\ud558\ub294 \ud328\ud134: Single Loop(2), Text \ub300\uc2e0 Value2 \uc0ac\uc6a9\"><span class=\"ez-toc-section\" id=\"%EB%8B%A8%EC%9D%BC_Loop%EB%A5%BC_%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94_%ED%8C%A8%ED%84%B4-Single_Loop2\"><\/span>Patterns using a single Loop - Single Loop(2)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Value2 was used when maintaining the Single Loop syntax and entering values into the Range.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"11-20\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">'\ub2e8\uc77c Loop\ub97c \uc0ac\uc6a9\ud558\ub294 \ud328\ud134: Single Loop(2), Value2 \uc0ac\uc6a9\nPublic Sub SingleLoop2(aTargetRowCnt As Long)\n    Dim lRowOffset As Long, lColOffset As Long, oBaseRange As Range, sVal As String\n    Set oBaseRange = Range(\"B2\")\n    lRowOffset = 0\n    Dim lRowCount As Long, lColCount As Long, oHeaderRange As Range\n    Set oHeaderRange = oBaseRange.Offset(-1, 0)\n    lRowCount = aTargetRowCnt\n    lColCount = Range(oHeaderRange, oHeaderRange.End(xlToRight)).Columns.Count\n    For lRowOffset = 0 To lRowCount - 1 '\uc77d\ub294 \ud589\uc758 \uc218 (Offset\uc740 0\ubd80\ud130 \uc2dc\uc791\ud558\ubbc0\ub85c Count -1 \uae4c\uc9c0 Loop \uc2e4\ud589\ud574\uc57c \ud568)\n        oBaseRange.Offset(lRowOffset, 0).Value2 = CStr(lRowOffset + 1) + \",1\"\n        oBaseRange.Offset(lRowOffset, 1).Value2 = CStr(lRowOffset + 1) + \",2\"\n        oBaseRange.Offset(lRowOffset, 2).Value2 = CStr(lRowOffset + 1) + \",3\"\n        oBaseRange.Offset(lRowOffset, 3).Value2 = CStr(lRowOffset + 1) + \",4\"\n        oBaseRange.Offset(lRowOffset, 4).Value2 = CStr(lRowOffset + 1) + \",5\"\n        oBaseRange.Offset(lRowOffset, 5).Value2 = CStr(lRowOffset + 1) + \",6\"\n        oBaseRange.Offset(lRowOffset, 6).Value2 = CStr(lRowOffset + 1) + \",7\"\n        oBaseRange.Offset(lRowOffset, 7).Value2 = CStr(lRowOffset + 1) + \",8\"\n        oBaseRange.Offset(lRowOffset, 8).Value2 = CStr(lRowOffset + 1) + \",9\"\n        oBaseRange.Offset(lRowOffset, 9).Value2 = CStr(lRowOffset + 1) + \",10\"\n    Next lRowOffset\nEnd Sub<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\ub370\uc774\ud130\ub97c \ud55c\ubc88\uc5d0 memory\ub85c \uc77d\ub294 \ubc29\ubc95: Variant Array \uc0ac\uc6a9\"><span class=\"ez-toc-section\" id=\"memory%EC%97%90_%EC%9E%88%EB%8A%94_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC_%ED%95%9C%EB%B2%88%EC%97%90_Range%EC%97%90_%EC%93%B0%EB%8A%94_%EB%B0%A9%EB%B2%95-Variant_Array_%EC%82%AC%EC%9A%A9\"><\/span>How to write data in memory to Range at once - Using Variant Array<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>This is a method of writing data stored in a two-dimensional variant array to a range at once. The detailed code is as follows.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"14\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">' \ud55c\ubc88\uc5d0 \uc4f0\ub294 \ud328\ud134\nPublic Sub VariantArray(aTargetRowCnt As Long)\n    Dim vRngArr As Variant, oBaseRange As Range, oHeaderRange As Range, lColCount As Long, sVal As String\n    Set oBaseRange = Range(\"B2\")\n    Set oHeaderRange = oBaseRange.Offset(-1, 0)\n    lColCount = Range(oHeaderRange, oHeaderRange.End(xlToRight)).Columns.Count\n    ReDim vRngArr(1 To aTargetRowCnt, 1 To lColCount)\n    Dim lCol As Long, lRow As Long\n    For lRow = LBound(vRngArr, 1) To UBound(vRngArr, 1)\n        For lCol = LBound(vRngArr, 2) To UBound(vRngArr, 2)\n            vRngArr(lRow, lCol) = CStr(lRow) + \",\" + CStr(lCol)\n        Next lCol\n    Next lRow\n    oBaseRange.Resize(aTargetRowCnt, lColCount).Value2 = vRngArr\nEnd Sub<\/pre>\n\n\n\n<p>The core code is line 14. Write data by directly assigning a Variant array to Range.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"14\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">    oBaseRange.Resize(aTargetRowCnt, lColCount).Value2 = vRngArr<\/pre>\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> Comparing with the following code read from<\/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=\"\">    vRngArr = oBaseRange.Resize(aTargetRowCnt, lColCount).Value2<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\uc131\ub2a5\ube44\uad50\"><span class=\"ez-toc-section\" id=\"%EC%84%B1%EB%8A%A5%EB%B9%84%EA%B5%90\"><\/span>Performance Comparison<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Range_\uc4f0\uae30_\uc131\ub2a5_\ube44\uad50\"><span class=\"ez-toc-section\" id=\"Range_%EC%93%B0%EA%B8%B0_%EC%84%B1%EB%8A%A5_%EB%B9%84%EA%B5%90\"><\/span>Range Write Performance Comparison<span class=\"ez-toc-section-end\"><\/span><\/h3>\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> Similarly, the execution time of each method was summarized while increasing the Row Count from 10 to 100,000.<br>(Execution environment: 2019 LG Gram, CPU i5, Ram 16GB, 256GB SSD)<\/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-136.png\"><img loading=\"lazy\" decoding=\"async\" width=\"507\" height=\"307\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-136.png\" alt=\"\ud45c1. Row Count, Cell Count\uc640 \uac01 \ubc29\ubc95\uc758 \uc4f0\uae30(Write) \uc18c\uc694\uc2dc\uac04(\ucd08)\" class=\"wp-image-11506\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-136.png 507w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-136-300x182.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-136-18x12.png 18w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-136-24x15.png 24w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-136-36x22.png 36w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-136-48x29.png 48w\" sizes=\"auto, (max-width: 507px) 100vw, 507px\" \/><\/a><figcaption>Table 1. Row Count, Cell Count, and the write time required for each method (seconds)<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137.png\"><img loading=\"lazy\" decoding=\"async\" width=\"655\" height=\"528\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137.png\" alt=\"\uadf8\ub9bc1. Row Count, Cell Count\uc640 \uac01 \ubc29\ubc95\uc758 \uc4f0\uae30(Write) \uc18c\uc694\uc2dc\uac04(\ucd08)\" class=\"wp-image-11507\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137.png 655w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137-300x242.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137-15x12.png 15w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137-24x19.png 24w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137-36x29.png 36w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137-48x39.png 48w\" sizes=\"auto, (max-width: 655px) 100vw, 655px\" \/><\/a><figcaption>Figure 1. Row Count, Cell Count, and the write time required for each method (seconds)<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Range write performance can be summarized as follows.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>There is almost no difference between the method of entering a value using Value2 and the method of entering a value directly into the Range object.<\/li><li>Nested Loop was slightly faster than Single Loop. This is the opposite of Read, so it&#039;s hard to say that it&#039;s always faster.<\/li><li>If you write data using Variant Array, it is incomparably faster (at least 10 times or more).<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Range_\uc77d\uae30_\uc131\ub2a5_\ube44\uad50\"><span class=\"ez-toc-section\" id=\"Range_%EC%9D%BD%EA%B8%B0_%EC%84%B1%EB%8A%A5_%EB%B9%84%EA%B5%90\"><\/span>Range read performance comparison<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>For immediate comparison of read and write performance <a href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-read\/#%EC%84%B1%EB%8A%A5%EB%B9%84%EA%B5%90\">Read performance comparison<\/a> Copy the contents below.<\/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-134.png\"><img loading=\"lazy\" decoding=\"async\" width=\"507\" height=\"307\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-134.png\" alt=\"\ud45c2. Row Count, Cell Count\uc640 \uac01 \ubc29\ubc95\uc758 \uc77d\uae30(Read) \uc18c\uc694\uc2dc\uac04(\ucd08)\" class=\"wp-image-11500\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-134.png 507w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-134-300x182.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-134-18x12.png 18w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-134-24x15.png 24w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-134-36x22.png 36w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-134-48x29.png 48w\" sizes=\"auto, (max-width: 507px) 100vw, 507px\" \/><\/a><figcaption>Table 2. Row Count, Cell Count, and the read time required for each method (seconds)<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-135.png\"><img loading=\"lazy\" decoding=\"async\" width=\"655\" height=\"428\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-135.png\" alt=\"\uadf8\ub9bc1. Row Count, Cell Count\uc640 \uac01 \ubc29\ubc95\uc758 \uc77d\uae30(Read) \uc18c\uc694\uc2dc\uac04(\ucd08)\" class=\"wp-image-11501\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-135.png 655w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-135-300x196.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-135-18x12.png 18w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-135-24x16.png 24w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-135-36x24.png 36w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-135-48x31.png 48w\" sizes=\"auto, (max-width: 655px) 100vw, 655px\" \/><\/a><figcaption>Figure 1. Row Count, Cell Count, and the read time required for each method (seconds)<\/figcaption><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<p>When reading and writing a large amount of data in an Excel sheet with VBA code, performance can be greatly improved by using a variant array, so please use it appropriately if necessary.<\/p>","protected":false},"excerpt":{"rendered":"<p>Among the VBA coding patterns, look at the contents of Range Loop-Write. Summary Introducing coding patterns that improve performance when writing a lot of data in an Excel sheet using Variant Array. The article below has already covered how to improve performance when reading a lot of data from an Excel sheet. VBA coding patterns:...<\/p>","protected":false},"author":1,"featured_media":11507,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[17,73,74,75,76,79,80],"class_list":["post-11504","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-excel-vba-coding-pattern","tag-vba","tag-excel-vba","tag-74","tag-codding-pattern","tag-range-loop","tag-write","tag-80"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>VBA \ucf54\ub529 \ud328\ud134: Range Loop-\uc4f0\uae30(Write) - \uc0dd\uc0b0\uc131 Skill<\/title>\n<meta name=\"description\" content=\"VBA \ucf54\ub529 \ud328\ud134 \uc911 Range Loop-\uc4f0\uae30(Write) \uc5d0 \ub300\ud55c \ub0b4\uc6a9\uc744 \uc0b4\ud3b4\ubcf8\ub2e4. \uae30\ubcf8 \ud328\ud134\uc778 Nested Loop, \ub2e8\uc77c Loop, Variant Array\ub97c \uc0ac\uc6a9\ud558\ub294 \uac01\uac01\uc758 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc131\ub2a5\uc744 \ube44\uad50\ud55c\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-coding-pattern-range-loop-write\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VBA \ucf54\ub529 \ud328\ud134: Range Loop-\uc4f0\uae30(Write) - \uc0dd\uc0b0\uc131 Skill\" \/>\n<meta property=\"og:description\" content=\"VBA \ucf54\ub529 \ud328\ud134 \uc911 Range Loop-\uc4f0\uae30(Write) \uc5d0 \ub300\ud55c \ub0b4\uc6a9\uc744 \uc0b4\ud3b4\ubcf8\ub2e4. \uae30\ubcf8 \ud328\ud134\uc778 Nested Loop, \ub2e8\uc77c Loop, Variant Array\ub97c \uc0ac\uc6a9\ud558\ub294 \uac01\uac01\uc758 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc131\ub2a5\uc744 \ube44\uad50\ud55c\ub2e4.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-write\/\" \/>\n<meta property=\"og:site_name\" content=\"\uc0dd\uc0b0\uc131 Skill\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-18T14:32:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-04T13:45:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137.png\" \/>\n\t<meta property=\"og:image:width\" content=\"655\" \/>\n\t<meta property=\"og:image:height\" content=\"528\" \/>\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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/\"},\"author\":{\"name\":\"Zerom\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\"},\"headline\":\"VBA \ucf54\ub529 \ud328\ud134: Range Loop-\uc4f0\uae30(Write)\",\"datePublished\":\"2022-09-18T14:32:08+00:00\",\"dateModified\":\"2022-10-04T13:45:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/\"},\"wordCount\":157,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\"},\"image\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-137.png\",\"keywords\":[\"\uc5d1\uc140VBA\",\"Excel VBA\",\"\ucf54\ub529\ud328\ud134\",\"Codding Pattern\",\"Range Loop\",\"Write\",\"\uc4f0\uae30\"],\"articleSection\":[\"\uc5d1\uc140 VBA \ucf54\ub529\ud328\ud134\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/\",\"url\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/\",\"name\":\"VBA \ucf54\ub529 \ud328\ud134: Range Loop-\uc4f0\uae30(Write) - \uc0dd\uc0b0\uc131 Skill\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-137.png\",\"datePublished\":\"2022-09-18T14:32:08+00:00\",\"dateModified\":\"2022-10-04T13:45:46+00:00\",\"description\":\"VBA \ucf54\ub529 \ud328\ud134 \uc911 Range Loop-\uc4f0\uae30(Write) \uc5d0 \ub300\ud55c \ub0b4\uc6a9\uc744 \uc0b4\ud3b4\ubcf8\ub2e4. \uae30\ubcf8 \ud328\ud134\uc778 Nested Loop, \ub2e8\uc77c Loop, Variant Array\ub97c \uc0ac\uc6a9\ud558\ub294 \uac01\uac01\uc758 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc131\ub2a5\uc744 \ube44\uad50\ud55c\ub2e4.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/#primaryimage\",\"url\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-137.png\",\"contentUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-137.png\",\"width\":655,\"height\":528},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/excel-vba-coding-pattern-range-loop-write\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VBA \ucf54\ub529 \ud328\ud134: Range Loop-\uc4f0\uae30(Write)\"}]},{\"@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":"VBA Coding Pattern: Range Loop - Write - Productivity Skill","description":"This article examines the Range Loop-Write method, a VBA coding pattern. It compares the performance of each method, including the basic Nested Loop, Single Loop, and Variant Array.","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-coding-pattern-range-loop-write\/","og_locale":"en_US","og_type":"article","og_title":"VBA \ucf54\ub529 \ud328\ud134: Range Loop-\uc4f0\uae30(Write) - \uc0dd\uc0b0\uc131 Skill","og_description":"VBA \ucf54\ub529 \ud328\ud134 \uc911 Range Loop-\uc4f0\uae30(Write) \uc5d0 \ub300\ud55c \ub0b4\uc6a9\uc744 \uc0b4\ud3b4\ubcf8\ub2e4. \uae30\ubcf8 \ud328\ud134\uc778 Nested Loop, \ub2e8\uc77c Loop, Variant Array\ub97c \uc0ac\uc6a9\ud558\ub294 \uac01\uac01\uc758 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc131\ub2a5\uc744 \ube44\uad50\ud55c\ub2e4.","og_url":"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-write\/","og_site_name":"\uc0dd\uc0b0\uc131 Skill","article_published_time":"2022-09-18T14:32:08+00:00","article_modified_time":"2022-10-04T13:45:46+00:00","og_image":[{"width":655,"height":528,"url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137.png","type":"image\/png"}],"author":"Zerom","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Zerom","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/#article","isPartOf":{"@id":"https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/"},"author":{"name":"Zerom","@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"headline":"VBA \ucf54\ub529 \ud328\ud134: Range Loop-\uc4f0\uae30(Write)","datePublished":"2022-09-18T14:32:08+00:00","dateModified":"2022-10-04T13:45:46+00:00","mainEntityOfPage":{"@id":"https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/"},"wordCount":157,"commentCount":0,"publisher":{"@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"image":{"@id":"https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/#primaryimage"},"thumbnailUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137.png","keywords":["\uc5d1\uc140VBA","Excel VBA","\ucf54\ub529\ud328\ud134","Codding Pattern","Range Loop","Write","\uc4f0\uae30"],"articleSection":["\uc5d1\uc140 VBA \ucf54\ub529\ud328\ud134"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/","url":"https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/","name":"VBA Coding Pattern: Range Loop - Write - Productivity Skill","isPartOf":{"@id":"https:\/\/prodskill.com\/ko\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/#primaryimage"},"image":{"@id":"https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/#primaryimage"},"thumbnailUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137.png","datePublished":"2022-09-18T14:32:08+00:00","dateModified":"2022-10-04T13:45:46+00:00","description":"This article examines the Range Loop-Write method, a VBA coding pattern. It compares the performance of each method, including the basic Nested Loop, Single Loop, and Variant Array.","breadcrumb":{"@id":"https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/#primaryimage","url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137.png","contentUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-137.png","width":655,"height":528},{"@type":"BreadcrumbList","@id":"https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/prodskill.com\/ko\/"},{"@type":"ListItem","position":2,"name":"VBA \ucf54\ub529 \ud328\ud134: Range Loop-\uc4f0\uae30(Write)"}]},{"@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\/11504","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=11504"}],"version-history":[{"count":0,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/posts\/11504\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/media\/11507"}],"wp:attachment":[{"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/media?parent=11504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/categories?post=11504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/tags?post=11504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}