{"id":52,"date":"2023-11-17T21:36:05","date_gmt":"2023-11-17T21:36:05","guid":{"rendered":"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/"},"modified":"2023-12-25T10:25:35","modified_gmt":"2023-12-25T10:25:35","slug":"tabla-dinamica","status":"publish","type":"page","link":"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/","title":{"rendered":"\u00bfc\u00f3mo crear una tabla din\u00e1mica en vba?"},"content":{"rendered":"<div class=\"excel-antes-del-contenido\" id=\"excel-4061153940\"><script type=\"text\/javascript\">\r\n\tatOptions = {\r\n\t\t'key' : 'c1158f160081d6540a8409e6925dab94',\r\n\t\t'format' : 'iframe',\r\n\t\t'height' : 250,\r\n\t\t'width' : 300,\r\n\t\t'params' : {}\r\n\t};\r\n<\/script>\r\n<script type=\"text\/javascript\" src=\"\/\/www.highperformanceformat.com\/c1158f160081d6540a8409e6925dab94\/invoke.js\"><\/script><\/div><p>Una matriz din\u00e1mica es algo en lo que puede cambiar el tama\u00f1o de la matriz y agregarle m\u00e1s valor mientras ejecuta el c\u00f3digo. En este tutorial, exploraremos formas de escribir c\u00f3digo en las que puedes cambiar el tama\u00f1o y agregar m\u00e1s elementos.<\/p>\n<h2 class=\"wp-block-heading\"> Crear una tabla din\u00e1mica en VBA<\/h2>\n<ol type=\"1\">\n<li> Primero, declara una matriz con su nombre.<\/li>\n<li> Despu\u00e9s de eso, la cantidad de elementos dej\u00f3 los par\u00e9ntesis vac\u00edos.<\/li>\n<li> Ahora use la instrucci\u00f3n ReDim.<\/li>\n<li> Al final, especifique la cantidad de elementos que desea agregar a la matriz. <\/li>\n<\/ol>\n<pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Dim myArray() As String ReDim myArray(5)<\/code><\/pre>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-57185\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/1-tableau-dynamique-en-vba-1.png\" sizes=\"auto, \" srcset=\"\" alt=\"matriz din\u00e1mica en vba\" width=\"386\" height=\"292\"><\/figure>\n<\/div>\n<p> No olvide leer <a href=\"https:\/\/bytecomb.com\/vba-internals-performance-of-fixed-vs-dynamic-arrays\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">este art\u00edculo<\/a> de Joshua sobre el rendimiento de los arreglos fijos y din\u00e1micos.<\/p>\n<h2 class=\"wp-block-heading\"> Matriz multidimensional din\u00e1mica<\/h2>\n<p> El ejemplo que usamos fue una matriz unidimensional y de la misma manera, tambi\u00e9n usa la declaraci\u00f3n ReDim para crear matrices din\u00e1micas multidimensionales. <\/p>\n<pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Dim myArray() As String ReDim myArray(5, 8)<\/code><\/pre>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-57186\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/2-reseau-dynamique-multidimensionnel-2.png\" sizes=\"auto, \" srcset=\"\" alt=\"\" width=\"428\" height=\"310\"><\/figure>\n<\/div>\n<h2 class=\"wp-block-heading\"> Agregar un nuevo elemento a una matriz din\u00e1mica en VBA<\/h2>\n<p> Una matriz din\u00e1mica no tendr\u00e1 sentido si no puede agregarle un nuevo elemento. En el siguiente ejemplo, veremos c\u00f3mo agregar nuevos elementos una vez que haya redefinido la cantidad de elementos en una matriz.<\/p>\n<pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">'declaring array with no element. '--------------------- Dim iNames() As String '--------------------- 'declaring variables to store counter _ 'and elements from the range. '---------------------- Dim iCount As Integer Dim iElement As Integer '---------------------- 'get the last row number to decide the _ 'number of elements for the array. '------------------------------------ iCount = Range(\"A1\").End(xlDown).Row '------------------------------------ 're-defining the elements for the array. '------------------- ReDim iNames(iCount) '------------------- 'using a for loop to add elements in the array 'from the range starting from cell A1 '-------------------------------------------------- For iElement = 1 To iCount iNames(iElement - 1) = Cells(iElement, 1).Value Next iElement '-------------------------------------------------- 'print all the elements from the 'to the immediate window '-------------------- Debug.Print iNames(0) Debug.Print iNames(1) Debug.Print iNames(2) '--------------------<\/code><\/pre>\n<p> Entendamos este c\u00f3digo paso a paso.<\/p>\n<ol type=\"1\">\n<li> En el primer paso, declar\u00f3 una matriz con el nombre \u00abmyArray\u00bb.<\/li>\n<li> Despu\u00e9s de eso, tiene dos variables para guardar los valores del contador para el bucle que deber\u00e1 usar m\u00e1s adelante en el c\u00f3digo para obtener valores del rango y agregar esos valores como elementos a la matriz.<\/li>\n<li> Luego tienes una l\u00ednea de c\u00f3digo para obtener la \u00faltima fila del rango que te ayuda a saber qu\u00e9 elementos necesitas agregar a la matriz.<\/li>\n<li> En el cuarto paso, utiliz\u00f3 la instrucci\u00f3n ReDim para redefinir los elementos de la matriz utilizando el \u00faltimo n\u00famero de fila obtenido en el paso anterior.<\/li>\n<li> Luego tienes FOR LOOP (Para siguiente) que recorre el rango a partir de la celda A1, toma valores de all\u00ed y los agrega como elementos a la matriz uno por uno.<\/li>\n<li> Al final, tiene la declaraci\u00f3n Debug.Print para imprimir todos los elementos en la <a href=\"https:\/\/exceladvisor.org\/es\/impresion-de-depuracion-inmediata-de-ventana\/\">ventana inmediata<\/a> . <\/li>\n<\/ol>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-57187\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/3-ajouter-un-nouvel-element-au-tableau-dynamique-3.png\" sizes=\"auto, \" srcset=\"\" alt=\"\" width=\"623\" height=\"329\"><\/figure>\n<\/div>\n<p> Y cuando agrego un nuevo valor al rango y ejecuto el c\u00f3digo nuevamente, autom\u00e1ticamente agrega ese elemento a la matriz y lo imprime en la <a href=\"https:\/\/exceladvisor.org\/es\/impresion-de-depuracion-inmediata-de-ventana\/\">ventana inmediata<\/a> . <\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-57188\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/4-ajouter-une-nouvelle-valeur-a-la-plage-4.png\" sizes=\"auto, \" srcset=\"\" alt=\"\" width=\"549\" height=\"397\"><\/figure>\n<\/div>\n<div class=\"gb-container gb-container-4db6181c gb-container-mt\"> <a class=\"gb-button gb-button-c5897111 gb-button-text gb-button-mt-button\" href=\"https:\/\/exceladvisor.org\/es\/vba\/\">\u00bfQu\u00e9 es VBA?<\/a><\/p>\n<h2 class=\"gb-headline gb-headline-665e5f6b gb-headline-text gb-headline-mt-heading\"> Obtenga m\u00e1s informaci\u00f3n sobre <a href=\"https:\/\/exceladvisor.org\/es\/pinturas\/\">las tablas VBA<\/a> <\/h2>\n<div class=\"gb-grid-wrapper gb-grid-wrapper-a20baf7c gb-grid-wrapper-mt-grid\">\n<div class=\"gb-grid-column gb-grid-column-65ddf67e\">\n<div class=\"gb-container gb-container-65ddf67e\">\n<ul>\n<li> <a href=\"https:\/\/exceladvisor.org\/es\/agregar-una-nueva-matriz-de-valores\/\">VBA Agregar nuevo valor a la matriz<\/a><\/li>\n<li> <a href=\"https:\/\/exceladvisor.org\/es\/tamano-de-matriz\/\">Longitud de la matriz VBA (tama\u00f1o)<\/a><\/li>\n<li> <a href=\"https:\/\/exceladvisor.org\/es\/mesa-con-cadenas\/\">Matriz VBA con cadenas<\/a><\/li>\n<li> <a href=\"https:\/\/exceladvisor.org\/es\/borrar-la-pizarra\/\">Matriz clara de VBA<\/a> <\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div class=\"gb-grid-column gb-grid-column-50067b57\">\n<div class=\"gb-container gb-container-50067b57\">\n<ul>\n<li> <a href=\"https:\/\/exceladvisor.org\/es\/matriz-de-bucle-vba\/\">Bucle de VBA en una matriz<\/a><\/li>\n<li> <a href=\"https:\/\/exceladvisor.org\/es\/matriz-multidimensional\/\">Matriz multidimensional VBA<\/a><\/li>\n<li> <a href=\"https:\/\/exceladvisor.org\/es\/la-playa-tiene-una-pintura\/\">rango de VBA a una matriz<\/a><\/li>\n<li> <a href=\"https:\/\/exceladvisor.org\/es\/mesa-de-clasificacion\/\">tabla de salida de VBA<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Una matriz din\u00e1mica es algo en lo que puede cambiar el tama\u00f1o de la matriz y agregarle m\u00e1s valor mientras ejecuta el c\u00f3digo. En este tutorial, exploraremos formas de escribir c\u00f3digo en las que puedes cambiar el tama\u00f1o y agregar m\u00e1s elementos. Crear una tabla din\u00e1mica en VBA Primero, declara una matriz con su nombre. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"ub_ctt_via":"","footnotes":""},"class_list":["post-52","page","type-page","status-publish","hentry"],"featured_image_src":null,"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u00bfc\u00f3mo crear una tabla din\u00e1mica en vba?<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfc\u00f3mo crear una tabla din\u00e1mica en vba?\" \/>\n<meta property=\"og:description\" content=\"Una matriz din\u00e1mica es algo en lo que puede cambiar el tama\u00f1o de la matriz y agregarle m\u00e1s valor mientras ejecuta el c\u00f3digo. En este tutorial, exploraremos formas de escribir c\u00f3digo en las que puedes cambiar el tama\u00f1o y agregar m\u00e1s elementos. Crear una tabla din\u00e1mica en VBA Primero, declara una matriz con su nombre. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/\" \/>\n<meta property=\"og:site_name\" content=\"Excel Advisor\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-25T10:25:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/1-tableau-dynamique-en-vba-1.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/\",\"url\":\"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/\",\"name\":\"\u00bfc\u00f3mo crear una tabla din\u00e1mica en vba?\",\"isPartOf\":{\"@id\":\"https:\/\/exceladvisor.org\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/1-tableau-dynamique-en-vba-1.png\",\"datePublished\":\"2023-11-17T21:36:05+00:00\",\"dateModified\":\"2023-12-25T10:25:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/#primaryimage\",\"url\":\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/1-tableau-dynamique-en-vba-1.png\",\"contentUrl\":\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/1-tableau-dynamique-en-vba-1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Hogar\",\"item\":\"https:\/\/exceladvisor.org\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00bfc\u00f3mo crear una tabla din\u00e1mica en vba?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/exceladvisor.org\/es\/#website\",\"url\":\"https:\/\/exceladvisor.org\/es\/\",\"name\":\"Excel Advisor\",\"description\":\"Su gu\u00eda para la dominaci\u00f3n de datos!\",\"publisher\":{\"@id\":\"https:\/\/exceladvisor.org\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/exceladvisor.org\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/exceladvisor.org\/es\/#organization\",\"name\":\"Excel Advisor\",\"url\":\"https:\/\/exceladvisor.org\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/exceladvisor.org\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/exceladvisor.org\/es\/wp-content\/uploads\/2023\/12\/exceladvisor.org_.png\",\"contentUrl\":\"https:\/\/exceladvisor.org\/es\/wp-content\/uploads\/2023\/12\/exceladvisor.org_.png\",\"width\":105,\"height\":36,\"caption\":\"Excel Advisor\"},\"image\":{\"@id\":\"https:\/\/exceladvisor.org\/es\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u00bfc\u00f3mo crear una tabla din\u00e1mica en vba?","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:\/\/exceladvisor.org\/es\/tabla-dinamica\/","og_locale":"es_ES","og_type":"article","og_title":"\u00bfc\u00f3mo crear una tabla din\u00e1mica en vba?","og_description":"Una matriz din\u00e1mica es algo en lo que puede cambiar el tama\u00f1o de la matriz y agregarle m\u00e1s valor mientras ejecuta el c\u00f3digo. En este tutorial, exploraremos formas de escribir c\u00f3digo en las que puedes cambiar el tama\u00f1o y agregar m\u00e1s elementos. Crear una tabla din\u00e1mica en VBA Primero, declara una matriz con su nombre. [&hellip;]","og_url":"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/","og_site_name":"Excel Advisor","article_modified_time":"2023-12-25T10:25:35+00:00","og_image":[{"url":"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/1-tableau-dynamique-en-vba-1.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/","url":"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/","name":"\u00bfc\u00f3mo crear una tabla din\u00e1mica en vba?","isPartOf":{"@id":"https:\/\/exceladvisor.org\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/#primaryimage"},"image":{"@id":"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/#primaryimage"},"thumbnailUrl":"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/1-tableau-dynamique-en-vba-1.png","datePublished":"2023-11-17T21:36:05+00:00","dateModified":"2023-12-25T10:25:35+00:00","breadcrumb":{"@id":"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/exceladvisor.org\/es\/tabla-dinamica\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/#primaryimage","url":"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/1-tableau-dynamique-en-vba-1.png","contentUrl":"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/1-tableau-dynamique-en-vba-1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/exceladvisor.org\/es\/tabla-dinamica\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Hogar","item":"https:\/\/exceladvisor.org\/es\/"},{"@type":"ListItem","position":2,"name":"\u00bfc\u00f3mo crear una tabla din\u00e1mica en vba?"}]},{"@type":"WebSite","@id":"https:\/\/exceladvisor.org\/es\/#website","url":"https:\/\/exceladvisor.org\/es\/","name":"Excel Advisor","description":"Su gu\u00eda para la dominaci\u00f3n de datos!","publisher":{"@id":"https:\/\/exceladvisor.org\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/exceladvisor.org\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/exceladvisor.org\/es\/#organization","name":"Excel Advisor","url":"https:\/\/exceladvisor.org\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/exceladvisor.org\/es\/#\/schema\/logo\/image\/","url":"https:\/\/exceladvisor.org\/es\/wp-content\/uploads\/2023\/12\/exceladvisor.org_.png","contentUrl":"https:\/\/exceladvisor.org\/es\/wp-content\/uploads\/2023\/12\/exceladvisor.org_.png","width":105,"height":36,"caption":"Excel Advisor"},"image":{"@id":"https:\/\/exceladvisor.org\/es\/#\/schema\/logo\/image\/"}}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/exceladvisor.org\/es\/wp-json\/wp\/v2\/pages\/52","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/exceladvisor.org\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/exceladvisor.org\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/exceladvisor.org\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/exceladvisor.org\/es\/wp-json\/wp\/v2\/comments?post=52"}],"version-history":[{"count":1,"href":"https:\/\/exceladvisor.org\/es\/wp-json\/wp\/v2\/pages\/52\/revisions"}],"predecessor-version":[{"id":1083,"href":"https:\/\/exceladvisor.org\/es\/wp-json\/wp\/v2\/pages\/52\/revisions\/1083"}],"wp:attachment":[{"href":"https:\/\/exceladvisor.org\/es\/wp-json\/wp\/v2\/media?parent=52"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}