Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/05/2010, 17:07
suncoastbreaker
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda, por favor!

Cita:
Iniciado por iseji Ver Mensaje
Hola

Como veras yo soy nuevo por aqui. Así que no se si ya hay mas temas sobre como este por el foro. Pero segun dices has mirado bien y nada. Asi que no creo que hagamos mal en hablar de ello. Si ya hay algo y no lo hemos visto, disculpas de antemano por repetir un hilo.

Pasando a hablar de tu problema hay que empezar por decir que no puedes pasar el codigo de un programa de visual basic 6.0 a excel tal cual ya que no es exactamente lo mismo.
Excel y las demas aplicaciones windows usan VBA (visual basic for aplications) y por eso hay cosas que no son exactamente iguales.

Si lo que quieres es tratar con excel debes conocer unos pasos básicos y a partir de ahi buscar mas en concreto lo que necesitas.
Para empezar, famiiarizate con los objetos ara empezar tu aplicacion VBA con excel. Dichos objetos son:
- Aplication (la aplicaion)
- Workbook (el libro excel)
- Worksheet (la hoja de calculo)
- Range (el rango de casillas con el que trabajas)

La inicializacion básica de estos objetos es la siguiente:
Dim app as Excel.Application
Dim wb as Excel.Workbook
Dim ws as Excel.Worksheet
Dim r as Range

Set app = New Excel.Application 'Iniciamos la aplicacion
Set wb = app.Workbooks.Add 'Añadimos un libro excel
Set ws = wb.Worksheets(1) 'colocamos la variable ws en la primera hoja de calcuo del libro

A partir de aqui te mueves por la hoja con el objeto Range (hay mas metodos que el objeto Range)

un ejemplo
Set r = ws.Range("A1:A1") 'Nos posicionamos el la primera celda
r.Offset(0, 0).Value = "Hola" 'Establecemos su valor


Con esto ya tienes para empezar a plantearte que mass necesitas. En cuanto a lo del comando with sirve para no tener que repetir en cada linia toda la secuencia de propiedades. Me explico mejor con un ejemplo.
Si quieres establecer el tipo de letra de una celda, el tamaño y el color, puedes hacer:
r.Offset(0, 0).Font.Bold = True
r.Offset(0, 0).Font.Size = 22
r.Offset(0,0).Font.Name = "Arial"

o bien establecer un punto con with y continuar desde hay
with r.Offset(0,0).Font
.Bold = True
.Size = 22
.name ="Arial"
End With

Si buscas mas cosas una buena ayuda es el msnd que ofrece microsotf en linia sobre el VBA (lo malo que esta en ingles)
Hechale un vistazo en http://msdn.microsoft.com/en-us/library/aa189857%28v=office.10%29.aspx
Y busca por ahi sobre VBA no sobre visual basic.

Cualquier cosa pregunta ;)

Muchas gracias por tu respuesta, creo que ahora me ha quedado más claro. De hecho, acabo de encontrar en una pagina web - la única hasta el momento de todas las que he visto - la explicación del uso del With. Le echaré un vistazo a ese enlace del msdn, que no es que no lo haya consultado otras veces sino que en todas ellas nunca he conseguido aclararme muy bien.