Excel - funcion si.error para vba

   
Vista:

funcion si.error para vba

Publicado por Felipe (2 intervenciones) el 16/12/2010 19:26:33
Hola!!, soy nuevo en el uso de VBA y he estado trabajando en una macro para que me concatene diferentes celdas. Esta esta funcionando muy bien, pero el problema surge cuando hay algunas celdas con valore no encontrados y me envía un error deteniedo la macro. Me gustaría saber si es posible colocarle una función si.error que en el caso de encontrar celdas que tengan valores indeterminados me arroje "-" y no se detenga la macro ya que son mas de 50.000 datos por lo que se hace tedioso el estar eliminando cada fila con datos no encontrados y ejecutarla nuevamente.
Espero me puedas ayudar
La macro que tengo es la siguiente
Sub concatena()
ActiveSheet.Cells(1, 1).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.End(xlDown).Select
parte = ActiveCell.Row
ActiveSheet.Cells(1, 18).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.End(xlDown).Select
parte2 = ActiveCell.Row
For i = parte2 To parte
Sheets("hoja1").Cells(i, 18).Value = Sheets("hoja1").Cells(i, 7).Value & "-" & Sheets("hoja1").Cells(i, 8).Value
Sheets("hoja1").Cells(i, 19).Value = Sheets("hoja1").Cells(i, 5).Value & "-" & Sheets("hoja1").Cells(i, 6).Value
Sheets("hoja1").Cells(i, 20).Value = Sheets("hoja1").Cells(i, 3).Value & "-" & Sheets("hoja1").Cells(i, 8).Value
Sheets("hoja1").Cells(i, 21).Value = Sheets("hoja1").Cells(i, 7).Value & "-" & Sheets("hoja1").Cells(i, 4).Value
Sheets("hoja1").Cells(i, 22).Value = Sheets("hoja1").Cells(i, 3).Value & "-" & Sheets("hoja1").Cells(i, 6).Value
Sheets("hoja1").Cells(i, 23).Value = Sheets("hoja1").Cells(i, 5).Value & "-" & Sheets("hoja1").Cells(i, 4).Value
Sheets("hoja1").Cells(i, 24).Value = Sheets("hoja1").Cells(i, 7).Value & "-" & Sheets("hoja1").Cells(i, 6).Value
Sheets("hoja1").Cells(i, 25).Value = Sheets("hoja1").Cells(i, 5).Value & "-" & Sheets("hoja1").Cells(i, 8).Value

Next i
End Sub

Saludos y gracias por tus consejos
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:funcion si.error para vba

Publicado por jcs (494 intervenciones) el 17/12/2010 08:56:05
Muy buenas,

se puede andar controlando si cada una de las instrucciones da error o no y, en su caso, colocar el guion, pero es más cómodo dejar que se ejecute toda la macro y, si lo necesitas, rellenar con quiones todas aquellas vacías.
Para que no deje de ejecutarse la macro, simplemente coloca la instrucción:
On Error Resume Next
al principio de la macro.

Espero que te sirva.

Un saludo. Juanjo.
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:funcion si.error para vba

Publicado por Felipe (2 intervenciones) el 17/12/2010 15:34:32
Hola, gracias por la ayuda,
ahora me funciona bien la macro
Saludos
Felipe
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