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
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


0