visual variable pasar otro libro ejemplos vba

vba - variable - ¿Cómo comenzar con Visual Basic para Aplicaciones?



msgbox visual basic 2010 ejemplos (14)

Estoy un poco intimidado por la gran cantidad de conocimiento que se muestra en la página principal de este sitio web, pero me da esperanza de que estoy hablando con las personas adecuadas. Hoy tuve una experiencia bastante desagradable con uno de nuestros programadores, y espero que pueda ofrecer algunos consejos.

Soy un administrador de oficina (principalmente administrativo), y una de nuestras macros en Microsoft Excel se rompió hoy (me disculpo si esa descripción me hace parecer un "usuario tonto"). Nuestro gerente llamó a nuestro departamento de TI y enviaron 2 programadores. El primero fue amable y me preguntó si me interesaría verlo arreglar el problema, pero el segundo dijo lo siguiente y dijo: "Ella es solo administrativa, nunca lo conseguirá".

Sí, dolió, pero para abreviar, le pregunté a mi esposo (que es un programador "perl") qué podía hacer para mostrarles a estos muchachos de qué estaba hecho y me recomendó algo llamado "VBA". porque trabajo mucho con Microsoft Office. No estaba muy seguro de si "VBA" era correcto, por lo que me recomendó que me involucrara con la comunidad en este sitio web (dice que encuentra muchas respuestas a las preguntas aquí).

Investigué "VBA" en google, pero hay literalmente MILES de resultados. Solo quiero poder grabar y editar macros para productos de Microsoft Office, y posiblemente ser lo suficientemente bueno como para mostrarle a ese programador que no soy solo una "administradora estúpida". ¿Puede alguno de ustedes, por favor, darme su consejo sobre los siguientes artículos?

  1. ¿Es realmente "VBA" lo que estoy buscando para crear macros y automatización?
  2. Si no es "VBA", ¿cuál es un punto de partida más adecuado?
  3. Un buen libro o sitio web con lecciones?
  4. ¿Alguna otra cosa que creas que sería útil? ¿Ofrecen clases universitarias para cosas como esta?

  1. Sí. VBA significa Visual Basic For Applications .
  2. VBA es lo que desea, si le interesa aprender a automatizar aplicaciones de oficina.
  3. Recomiendo un libro de John Walkenbach . En particular, Power Programming con VBA.
  4. No conozco las clases de la universidad, pero probablemente no las necesite: estoy bastante seguro de que la Programación de Poder asume una experiencia de programación nula. (Pero ha pasado mucho tiempo desde que lo leí).

Tenga en cuenta que puede pasar un tiempo hasta que capte los conceptos suficientes para impresionar a sus compañeros de trabajo. Buena suerte. Y recuerda, siempre hay idiotas así. No dejes que te atrapen. :)


De hecho, comencé a programar grabando macrosin Excel y revisando el código creado por la grabadora. Calcule una tarea simple y luego grabe una macro. La grabación de macros en Excel 2007 se puede encontrar en la pestaña de vista debajo del botón Macros en el extremo derecho. Una de las primeras tareas que descubrí fue filtrar varias filas de datos con autofiltro y luego imprimir la sección filtrada. Después de imprimir, elimino el filtro y selecciono la celda A1.

Antes de grabar una macro figura cada clic del mouse en orden. Cada vez que hace clic o escribe la macro lo registra. Así que reduzca el código de vibración grabado, ensayando la macro. Incluso podría escribir, a mano, un guión de juego como en el juego de Broadway. No te preocupes por cuánto tiempo lleva grabar. La grabadora no tiene ningún concepto de tiempo. Para comprender mejor el VBA, registre la macro varias veces. Haga un clic extra y vea lo que hace. Compare el código en cada macro. Para llegar al código, vea la macro con el mismo botón mencionado anteriormente. selecciona la macro y edítala. Cuando se sienta aventurero, modifique el código en el editor. SIEMPRE grabe y reproduzca en una copia un documento que no sea real. De esta forma, puede eliminar el archivo si llega a desordenarse. FYI - el botón de parada para la macro se encuentra a menudo en la esquina inferior izquierda de la ventana de Excel.

Aprendizaje feliz, --J Man


En respuesta a tus preguntas...

  1. VBA es el lenguaje que se utiliza para impulsar la automatización de oficina. Como dijo Jordan, es sinónimo de aplicaciones de Visual Basic (para)
  2. VBA es un punto de partida adecuado si solo desea impresionar a la oficina Dev. Si realmente quiere aprender a programar (como lo hace su esposo), entonces comience a aprender otro idioma llamado C ++, pero tenga cuidado ... es algo agitado. Te sugiero que busques en Google la frase ''Disertando con VBA'' o ''VBA para principiantes'' y cosas por el estilo. Encontrará algunos útiles tutoriales
  3. En lugar de tratar de encontrar un libro y aprenderlo todo, hágase una tarea, como ''Crear una macro que encuentre todas las celdas en una hoja de cálculo que tenga mi nombre y reemplácelas con'' I WIN ''. Rápidamente se te ocurrirán preguntas más específicas al intentar eso
  4. Se ofrecen clases, la mayoría de las clases en Excel y otros cursos de oficina ofrecerán una sección avanzada para la programación de macros
  5. Haga preguntas específicas. En lugar de preguntar "cómo escribo este programa", pregunte "¿cómo puedo encontrar una celda en particular en una hoja de cálculo?". Obtienes respuestas mucho mejores de esa manera

Excelente pregunta!

VBA significa Visual Basic para Aplicaciones y es la macro / herramientas de automatización que viene con Office (la macro de la que usted habla en su publicación se escribirá en VBA).

VBA suena como una combinación perfecta:

  • VBA está dirigido a personas no tecnológicas, por lo que está diseñado para ser indulgente y fácil de usar.
  • Google contiene una gran cantidad de información sobre el tema, todas las personas objetivo en su situación (personas sin antecedentes técnicos que simplemente quieren producir una macro de Office que los ayude)
  • Usar Office todos los días le dará la oportunidad de usar y practicar lo que aprenda.
  • VBA tiene una fantástica función de grabación macro que es increíblemente útil (especialmente cuando intenta aprender VBA)

Como dije, Google tiene una gran cantidad de información y artículos introductorios sobre el tema (por ejemplo, Comenzar a usar VBA , para elegir un buen ejemplo). Recomiendo leer a través de uno de ellos para obtener una visión general rápida y luego probar y ver lo que puede hacer:

  • ¡Usa la grabadora de macros! Si no puede encontrar la manera de hacer algo, simplemente grabe una macro de su funcionamiento y vea si puede encontrar la forma de hacerlo a partir del código que genera.
  • Date problemas para resolverlo.
  • ¡Haz preguntas aquí! :-)

Además, muchos lugares ofrecerán cursos sobre VBA que definitivamente recomendaría: las guías en Google serán excelentes para mostrarle la sintaxis y cómo hacer ciertas acciones (como cómo seleccionar una determinada celda o cómo hacer bucles), sin embargo, no serán tan buenos para enseñar los aspectos de la programación que resuelven problemas, para esto realmente necesitas aprender de una persona, que es donde un curso será muy útil.

Como nota final, aconsejaría no tratar de comprender las macros que otras personas han escrito (por ejemplo, la macro que mencionas en tu pregunta): comprender el código es mucho más difícil que escribirlo, además de que esas habilidades de programación de los programadores sean parecidas a sus las habilidades sociales probablemente no sean códigos de los que quieras aprender de todos modos ...

¡Buena suerte!


La respuesta de Jordan es buena, pero tu problema es más profundo que si conoces a VBA o no. Básicamente, tienes compañeros de trabajo groseros y, si esperas impresionarlos, es poco probable que te conviertas en un neófito en un área en la que están altamente capacitados.

La mejor manera (OMI) para tratar este tipo de cosas es decirle al grosero "salga de mi oficina [/ cubículo / lo que sea], ahora. No hay discusión", luego hable con su jefe sobre cómo interactúa con sus compañeros de trabajo .

Si su jefe no le da una respuesta satisfactoria, tómela con SU jefe. Etc., hasta llegar al CEO, si eso es lo que se necesita.

Si nadie de tu cadena de mando cree que el comportamiento que describes del programador n. ° 2 es un problema, debes considerar si la empresa para la que trabajas es digna de tu conjunto de habilidades en particular.

Y si no crees que aportas habilidades particularmente valiosas a la empresa, entonces probablemente no deberías preocuparte demasiado por si los demás te respetan, aunque (a) todavía no deberías tomar el tipo de el abuso que describes y (b) tu idea de extender tus habilidades es admirable.

... Pero, si no eres un "programador de nacimiento natural", no intentes forzar tu clavija redonda en un agujero cuadrado.

Si fuera yo, me enfocaría en ser el administrador de oficina más chistoso que nadie haya visto. Ah, otro truco: si el jefe del n. ° 2 no te da una respuesta satisfactoria, pídele a TU jefe que lo aborde con él. Explique que no cree que las personas deban estar sujetas a ese tipo de comportamiento en la sociedad civilizada. De nuevo, si no está abierto a su reclamo, debe decidir si va a trabajar para ese tipo de empresa.

¡Buena suerte!

Déjenos comentarios haciéndonos saber cómo sale.


Muchos de los recursos útiles mencionados en los artículos anteriores. ¡Sí! VBA es lo que realmente se puede codificar la lógica de las macros. Me gustaría agregar un artículo mío sobre las macros de MS Word / Excel . Algunos de los tutoriales básicos y difíciles se mencionan allí.


Muchos recursos útiles aquí para VBA, uno de los puntos más útiles es que cuando enciendes la Grabadora de macros en Excel, las Macros creadas son código VBA. Excel es enorme, tratar de aprender todos los matices de VBA tomará un tiempo justo, OTOH grabar una macro lleva unos segundos y obtendrá una idea rápida de cómo funciona el lenguaje.


Pensé que compartiría mi experiencia sobre cómo aprendí las macros de VBA dentro de Excel (principalmente) y Access.

Necesitaba automatizar muchas tareas en Excel y sabía todo sobre la grabación de macros. Puede grabar macros desde el menú Herramientas | Macros en Excel 2003 (no estoy seguro de qué es en 2007/2010).

Entonces decidí que necesitaba modificarlos ligeramente, así que pensé en echar un vistazo al código grabado. Presionar Alt-F11 lo lleva al entorno de desarrollo integrado de VBA (IDE). Luego puede ver las macros que ha grabado y ver lo que hacen.

Luego los editaba un poco y veía lo que sucedía. Si tuviera que hacer algo y no estaba seguro de cómo, buscaría en la ayuda o en google y encontraría respuestas excelentes en toda la web.

Ahora trabajo como desarrollador de VBA y a menudo todavía tengo cosas que necesito averiguar. Tener una sólida formación en computadoras y aplicaciones de Office (especialmente Excel) ayudará. Tener un marido que tenga Perl significará que puede preguntarle sobre la programación general, como la sintaxis y las variables, y los conceptos de programación que podrían necesitar alguna explicación adicional. He estado programando antes de vez en cuando, por lo que estos conceptos no eran nuevos para mí.

Buena suerte y recuerda hacer un montón de preguntas sobre y serás un profesional en poco tiempo.


Si obtiene una competencia razonable con VBA, no tendrá que llamar a TI para estos asuntos. Eso puede estar en contra de la política de su compañía, pero dejaré ese dilema ético para usted. Si quisiera aprender VBA, estudiaría estos tres libros en orden

VBA for Excel for Dummies (Walkenbach) Power Programming for Excel VBA (Walkenbach) Professional Excel Development (Bullen, Bovey, et al)

Al mismo tiempo que ese estudio, debes comenzar a resolver problemas del mundo real. Vaya a social.msdn.microsoft.com y comience a leer los foros de VBA. Responde las preguntas que puedas. Los que no puede, espere a que alguien más lo responda y luego reproduzca el problema y la solución para que lo sepa. Haga lo mismo con las preguntas de siguiendo las etiquetas vba. Si alguna pregunta parece demasiado complicada, solo omita y vaya a la siguiente.

Lea los blogs de Excel VBA http://www.dailydoseofexcel.com/dicks-blogroll/ Comience con http://datapigtechnologies.com/blog/ y http://blog.contextures.com/ seguro. No son solo VBA, pero están muy bien escritos.

Esto es lo que sucederá: en 3-6 meses habrás descubierto un mundo completamente nuevo. Habrá macros simples escritos para usted y sus compañeros de trabajo que eliminen algunos de los trabajos pesados ​​de su día. Comenzará a buscar un proceso inútil que puede eliminar con un código simple. En 6-12 meses, se habrá vuelto razonablemente competente. No necesitará TI para solucionar problemas menores para usted. Serás el experto en Excel en tu oficina (aprender VBA te hará mejor en Excel). Habrás ayudado a miles de personas aquí y en los foros msdn mientras te ayudas a ti mismo.

Después de 2 años, probablemente comenzarás a ser reconocido por MS y la comunidad como un experto. Te cansarás de responder las mismas preguntas una y otra vez en los foros para que puedas comenzar un blog y dirigir a las personas allí. Tendrá discusiones con su esposo sobre si VBA es un lenguaje "real", pero estará secretamente orgulloso de usted por lo que ha logrado. Después de 5 años, usted será coautor de un libro de Excel, abandonó su trabajo para ser un consultor de Excel y aprendió C #. YMMV por supuesto.


Tenga en cuenta que hay muchos estilos de VBA, ya que el código de Excel / VBA se verá diferente al código en Access / VBA. La razón es que el uso es diferente (células frente a bases de datos). Mira vb-helper para libros, enlaces y código.


Todos los comentarios son geniales, quería hacer un pequeño comentario.

VBA es como una droga de entrada. ASP classic y VB6 tienen casi la misma sintaxis. Transmití el código de uno a otro con cambios mínimos.

VB.NET tiene una sintaxis similar. Lo que esto significa es que al aprender VBA, es posible que no solo aprendas VBA sino que luego aproveches esas habilidades para hacer mucho más de lo que creías posible. Incluso puedes aprender que tienes una afinidad natural con la programación y buscarla como una carrera.

Quién sabe, un día puede terminar siendo el jefe del programador grosero. Eso sería dulcemente irónico.


VBA (Visual Basic for Application) es lo que está buscando, en caso de que esté interesado en macros ...

En mi opinión, es mucho más fácil de entender si tiene una buena experiencia en Ms-Office, aunque para dominarlo, es posible que necesite algunas habilidades de programación.

La manera fácil de aprender es comenzar con un problema . Tómese un problema e intente grabar la macro para automatizar su tarea ... Luego puede ver lo que se grabó en el Editor de Visual Basic de la suite Ms-Office ...

Intenta leer y entender cada línea de código que se generó como respuesta a tus acciones ... Al principio todo será griego y latino ... Pero si continúas haciéndolo, lo entenderás fácilmente en muy poco tiempo ... .

Luego puede buscar materiales y todos los resultados de búsqueda serán de gran significado para usted.

Pasar un buen rato..


VBA significa Visual Basic para Aplicaciones. Recomiendo leer el artículo de Wikipedia sobre él, y luego ver algunos videos tutoriales como este . También me gusta la serie "For Dummies" cuando quieres aprender algo que nunca antes has tocado. Cuando tenga preguntas específicas, puede publicarlas en este sitio.


es mejor que consigas una copia de MS Office y comiences a usar MS Excel. Tanto MS Excel como MS Word le permiten administrar hojas de cálculo y documentos mediante VBA.

Abra MS Excel y realice su tarea deseada mientras graba una macro. Las macros son un excelente lugar para comenzar a aprender VBA. En el fondo, todas estas macros están almacenadas en formato VBA. Puede registrar tantas como Macros en sus diversas tareas diarias. Por lo tanto, será más eficiente en realizar la tarea a través de MS Excel y obtendrá más información sobre macros y VBA. Pronto aprenderá a retocar estas macros para obtener mejores resultados.