Se trata de abrir una hoja de macro en excel y trabajar en ella y no en una hoja de calculo ó voy por mal camino?Sí, eso es. En el Office XP (2000), que fue el útimo que usé (¡pásate a OpenOffice! ;) ) vas al editor de macros. Verás un icono a la derecha que pone "ThisWorkbook". Le das doble click y te aparece una hoja en blanco. Pega el código y ejecuta la macro con el "play" que tienes arriba.
Me daba fallo en la linea 7 con el signo <>Cierto, fallo mío:
Donde debo escribir el código en ThisWorkbook ó en Modulo1 y cual es la diferencia?
Verás un icono a la derecha que pone "ThisWorkbook". Le das doble click y te aparece una hoja en blanco. Pega el código y ejecuta la macro con el "play" que tienes arriba.No hay mucha diferencia, salvo que en el módulo lo puedes guardar aparte y luego insertarlo en otro Excel, por ejemplo.
Diferencia entre Editor de Visual Basic y una Macro, En la Macro no se escribe nada???El Editor de VBA sirve para editar Macros VBA, igual que Word edita ficheros .doc ;)
(vamos quedan a colorines, no con hoja Excel en blanco.)Casi todo lo que puedes hacer desde el Excel con botones y "menúses" y demás lo puedes hacer desde VBA. Esto incluye colores, negrita, etc..
Pero me gustaría saber como referenciar la hoja de la que quiero sacar la informaciónEn VBA para Excel existen 2 componentes fundamentales a diferenciar: Libros y Hojas. Un libro es un fichero Excel, mientras que una hoja es un componente de un libro. Esto supongo que ya lo sabes. Libro = Workbook, Hoja = Worksheet o Sheet a secas. Para referenciar una hoja, te basta con Variable_Libro.Sheets(Numero_Hoja), y también es válido Variable_Libro.Sheets("Nombre_Hoja"). Te aconsejo la primera forma, ya que con un bucle for puedes recorrer todas las hojas ;)
Se podrían ir escribiendo diferentes campos en una fila, saltandome otros que no me interesen.Con un IF puedes seleccionar la condición que desees.
si esto es posible.¡Todo es posible! Yes, we can! :P :D
Se supone que si usas la opción "grabar macros", esta graba en codigo lo que se va haciendo en el excel?Sí, pero tiene sus limitaciones. Pero puede servir para generar un esqueleto sobre el que trabajar. Aparte, genera un código muy ineficiente.
Cual es el paso para definir y ejecutar correctamente una macro editada en vba en excelEn Excel XP:
'Do While (Worksheets("hojadatos").Cells("fila_o,1")) <> vbNullStringDebería ser:
¿Que significa el "&"? es para concatenar?Sí
como podría cambiar una variable a tipo string....Por eje: si quisiera hacer algo asi : Ai, siendo i=1,2,3...., para recorrer A1,A2,A3-....Ya que he intentando hacer la función con Cells y no hubo manera.Se cambia a string con CStr(). Un ejemplo de lo que dices sería:
Y porque no da salido la función que te mande?? k errror tiene?Se te ha olvidado el .Value en varios lados.
Tienes alguna idea de como copiar un rango de celdas de una hoja a otra??ActiveWorkbook.Sheets() y eliges la hoja. Sobre ella ya actúas con Cells.Value
En una celda kiero poner una función del tipo . contar.si()/...Etc..., estas funciones como las defino en la celda??No te he entendido. Si lo que quieres es poner una fórmula Excel, pues simplemente al escribes como cualquier otro valor y listo.
lo mas importante, como hago un "pegado especial" solo por valor, k no me copie la formula? Con grabar macro crees k saldra??Pruébalo con la macro. Si no te sale, ya lo vemos.
pero da errores, porque no acepta que hayan tantas comillasNormal, porque una cadena empieza con " y acaba con ". ¿Cómo va a saber que quieres poner una palabra con comillas dentro? :P Ponle """: esto corresponde a una comilla dentro de una cadena de caracteres. También puedes usar la constante vbQuote ;)
(Haciendo el if no me vale para como tengo montada la función)Entonces tienes la función mal diseñada. O bien haz otra función con el IF que ya llame a la función que tienes montada. No te puedo contar nada más si no me cuentas qué quieres hacer y qué código tienes puesto :P