Jump to content

Insertar fórmula en todos los valores contenidos en las pestañas


Recommended Posts

Buenas, quisiera obtener ayuda con un macro para insertar una formula que convierta el valor que tengo en litros a barriles, de la siguiente manera

Hoja original

[TABLE=class: outer_border, width: 100]

[TR]

[TD]Valor original[/TD]

[/TR]

[/TABLE]

Hoja con fórmula insertada

[TABLE=class: outer_border, width: 500]

[TR]

[TD](Valor original/1000)*6,28981[/TD]

[/TR]

[/TABLE]

Esto en todas las pestañas de la hoja de excel, adjunto el documento que necesito cambiar, muchas gracias!

Ejemplo de litros a barriles.xls

Link to comment
Share on other sites

Hola:

La macro que viene a continuación, hace lo que pides, o eso creo.

Lleva un control de doble ejecución, es decir, si la ejecutas mas de 1 vez, se queja.

Saludos

Sub ConvertirLitrosABarriles()

Dim Hoja As Worksheet, I As Long, F As Long, Celda As Range


For Each Hoja In ActiveWorkbook.Sheets

If Hoja.Range("K1") = "BARRILES" Then
MsgBox Hoja.Name & " Hoja ya convertida. Se ignora."
GoTo Siguiente
End If

For X = 1 To Hoja.Range("A" & Rows.Count).End(xlUp).Row
If Trim(UCase(Hoja.Range("A" & X))) = "NACIONALES" Then I = X
Next

If I = 0 Then
Beep
MsgBox Hoja.Name & "No se donde empezar. Hoja no convertida"
GoTo Siguiente
End If

For X = Hoja.Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
If Trim(UCase(Hoja.Range("A" & X))) = "TOTALES" Then F = X
Next

If F = 0 Then
Beep
MsgBox Hoja.Name & " No se donde TERMINAR. Hoja no convertida"
GoTo Siguiente
End If

Hoja.Range("K1") = "BARRILES"

For Each Celda In Hoja.Range("B" & I + 1 & ":I" & F - 1)
If Not Celda.HasFormula = True Then
Celda.Value = Celda.Value * 6.28981 / 1000
End If
Next

Siguiente:
Next


End Sub


[/CODE]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy