Visual Basic para Aplicaciones - insertar celdas

Life is soft - evento anual de software empresarial
 
Vista:

insertar celdas

Publicado por curro (1 intervención) el 23/11/2005 22:10:46
Estoy aprendiendo a programar en VBA y hay cosas que no se hacer. hoy mi jefe me ha pedido una cosa, y no me está saliendo. Tengo en excel 3 columnas, la a, b y c. Dentro de a y b tengo diferentes numeros. En c tengo la resta de cada uno de ellos. Lo que necesito es que cuando tengo un valor <0 en c, me inserte una celda en a.

Eso lo he hecho, pero solo para la celda C2 y A2, mi pregunta es ¿que codigo necesito para que eso lo haga con todas las columnas a y c???

el codigo que he puesto es el siguiente (no os priveis de criticar!!!!)

Private Sub CommandButton1_Click()
Dim a As Range
Dim b As Range
Set a = Worksheets("Hoja1").Range("c2")
Set b = Worksheets("hoja1").Range("a2")
If a < 0 Then
b.Insert
End If
End Sub

Muchas gracias a tod@s.

Curro
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:insertar celdas

Publicado por Adela (19 intervenciones) el 24/11/2005 10:32:10
Hola Curro. Tienes q utilizar un bucle para hacerlo para todas las hojas, en este caso es un bucle (do) hasta q encuentre una casilla vacia en la columna c, en cada paso le asignas un valor a c (q contendrá el valor de la columna c) y a (q contendrá el valor de la columna a) . He utilizado lo tuyo pq supongo q no da error. Pruebalo y si no te sale bien, no dudes en consultarme.
Dim a As Range, c As Range
Dim i as long
i=1
Do
i=i+1
Set c = ActiveWorkbook.Worksheets("Hoja1").Cells(3, i)
Set a = ActiveWorkbook.Worksheets("Hoja1").Cells(1, i)
If a < 0 Then
a.Insert
End If
Loop Until ActiveWorkbook.Worksheets("Hoja1").Cells(3, i) = ""
Un saludo,
Adela
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:insertar celdas

Publicado por Adela (19 intervenciones) el 24/11/2005 10:35:21
No lo he cambiado bien, perdona. Este sería el bueno:

Hola Curro. Tienes q utilizar un bucle para hacerlo para todas las celdas, en este caso es un bucle (do) hasta q encuentre una casilla vacia en la columna c, en cada paso le asignas un valor a c (q contendrá el valor de la columna c) y a (q contendrá el valor de la columna a) . He utilizado lo tuyo pq supongo q no da error. Pruebalo y si no te sale bien, no dudes en consultarme.
Dim a As Range, c As Range
Dim i as long
i=1
Do
i=i+1
Set c = ActiveWorkbook.Worksheets("Hoja1").Cells(3, i)
Set a = ActiveWorkbook.Worksheets("Hoja1").Cells(1, i)
If c < 0 Then
a.Insert
End If
Loop Until ActiveWorkbook.Worksheets("Hoja1").Cells(3, i) = ""
Un saludo,
Adela
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:insertar celdas

Publicado por carlos (55 intervenciones) el 24/11/2005 21:03:07
No entiendo qué significa "insertar una celda en a".
No has querido decir insertar una fila ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar