actualizar todas las tablas dinámicas en mi libro de excel con una macro
<p>tengo un libro con 20 tablas dinámicas diferentes. ¿hay alguna manera fácil de encontrar todas las tablas dinámicas y actualizarlas en vba?</p>
<p>sí.</p><pre><code>thisworkbook.refreshall </code></pre><p>o, si su versión de excel es lo suficientemente antigua,</p><pre><code>dim sheet as worksheet, pivot as pivottable for each sheet in thisworkbook.worksheets for each pivot in sheet.pivottables pivot.refreshtable pivot.update next next </code></pre>
Los datawindows solo pueden actualizar 1 tabla a la vez. Por más que tengas varias tablas relacionadas solo podrás actualizar una de ellas.  
Ahora para hacer lo que deseas tendras que recorrer tu dw  y usar un insert o update si fuera el caso. o directamente un insert. Para volver a agregar una tabla a su modelo, primero deberá eliminar la tabla de su modelo. (se puede ver una lista de tablas en el árbol [model.Store] (vea el panel ' **Explorador de modelos** '; puede abrirla desde el menú del botón derecho del mouse). Cuando ejecute 'Actualizar modelo desde la base de datos ...' la tabla aparecerá en la pestaña 'Agregar' en el primer paso del 'Asistente de actualización'. 

 Pasos para completar: 

1. Cierra tu modelo en Visual Studio.
2. Abra su archivo .edmx en un editor de texto.
3. Busque y elimine los elementos de la entidad XML (vea las notas a continuación).
4. Abre tu modelo en Visual Studio.
5. Haga clic en Actualizar modelo de la base de datos.

 Para eliminar todas las referencias a una tabla en su Modelo: 

* En el elemento 'EntityContainer', elimine todos los elementos secundarios 'EntitySet' que tienen el atributo 'Nombre' establecido en el valor [TableNameToReAdd].
* En el elemento 'EntityContainer', elimine todos los elementos secundarios 'AssociationSet' donde exista un elemento 'End' que tengan su atributo 'EntitySet' establecido en el valor [TableNameToReAdd].
* En el elemento 'EntityContainer', elimine todos los elementos secundarios 'EntityType' donde tengan el atributo 'Nombre' establecido en el valor [TableNameToReAdd].
* En el elemento 'EntityContainer', elimine todos los elementos secundarios de 'Asociación' donde exista un elemento 'Fin' que tenga su atributo 'Función' establecido en el valor [TableNameToReAdd]. Tienes que usar la función BUSCARV para que en función de un valor busques en la primera columna de tu otra tabla, e indicándole el número de columna consigas el dato deseado.

Otra opción es usar las funciones INDICE e COINCIDIR.

En Internet y Youtube hay muchos tutoriales, el propio Excel tiene también ejemplos.

Desafortunadamente con la información que proporcionas no veo como orientarte de manera más específica. Esto tal vez te sea de utilidad

https://macrosenexcel.com/como-copiar-cortar-y-pegar-en-vba Prueba esto. La macro elimina la fila de la celda activa.

Cambia "ok" por el password de tu hoja.


```
Sub Eliminar\_Fila()
  ActiveSheet.Unprotect "ok"
  Rows(ActiveCell.Row).Delete
  ActiveSheet.Protect "ok"
End Sub
``` Sí es posible. Con una macro por supuesto.

Solamente pon aquí una imagen de tu hoja "base de datos1"

Y un ejemplo de cómo quieres la información resultante en la hoja, vamos a llamarla "resumen"





Aquí un ejemplo de lo que debe tener cada una de tus imágenes: existe infinidad de rutinas en internet. es cuestión de que encuentres la que mejor se adapte a tus necesidades y a tu condición física actual.

algunas páginas que pueden ser de utilidad para ti son las siguientes:
http://www.musculacion.net/article20.html
http://shoppingba.infobae.com/infofitness/home/notas\_home.php?idxrubro=8&opt=01
http://www.laplatavive.com/secciones/salud\_fitness/rutinas/rutinas.asp Aquí está la solución. Puede utilizar el siguiente código: 


```
context.Table.Where(x => x.Field1 > 0).Update(y => new Table { Field2 = y.Field2 + 1 });

```
  Espero que ayude. Tu pregunta es muy amplia, ya que existen varias formas de hacerlo.  
Pero te pido que me pases tu nivel de experiencia así se lo que te puedo recomendar, para que empieces te aconsejo que uses Textboxes, ComboBoxes, y Labels.  
Y para almacenar dichos datos en una base de datos, podes utilizar el Access para crearla, y desde VB utilizar un DataControl para enlazar la base de datos a tu programa. Contestame lo que te pregunte que te doy más ejemplos. ¿Dale?. Ok te ayudo pero no me aclaro.  
Voy a corregir algunas de tus palabras  
y me dices si he acertado o no.En caso  
Negativo corrígeme. Gracias.   
Buenas tardes. Tengo una MDB que importa DE un txt QUE CONTIENE los albaranes introducidos en diferentes terminales de venta:CAMPOS o COLUMNAS... Proveedor, nº\_albarán, Fecha\_albarán, cod\_artic, deno\_artic, unidades, p\_costo y Total . El problema es que solo se rellena EN EL TXT el campo nº\_albarán (campo texto) y Fecha\_albarán (campo Fecha/hora) en la primera FILA de cada uno, el resto de LOS REGISTROS O FILAS del mismo albarán NO muestran estos dos datos por lo que no puedo agruparlos UNA VEZ OBTENIDA LA TABLA por albarán, fecha y total (el txt muestra los mismos datos que la tabla, por lo que no es un problema de importación)Me indican que en VBA si se puede conseguir al importar el txt(COMENTARIO:QUE YO SEPA NO SE PUEDEN MANIPULAR LOS PARÁMETROS DE IMPORTACIÓN MEDIANTE CÓDIGO, PERO NO HACE FALTA, HAY OTRAS FORMAS, MEDIANTE CÓDIGO PODEMOS MODIFICAR EL TXT ANTES DE IMPORTAR) pero mis conocimientos son muy básicos y no entiendo este lenguaje de programación. ¿Existe otro modo de hacer que en caso de valor Null tome el valor del mismo campo en la FILA O REGISTRO anterior?   
Gracias por la ayuda   
  
Otra cosa:1-abre el txt con el wordpad e intenta hacer"reemplazar texto"  
A ver si puedes repararlo tu mismo y nos ahorramos trabajo.  
2-Mandame un fragmento de txt de 2 o 3 albaranes a mi mail  
que encontraras en mi currículo.  
Esto funcionará muy pronto!