Hacer cálculos en una hoja y pasar los resultados a otra hoja

A tod@s:

Lo primero agradecer la ayuda que me prestáis, sois unos cracks! Estoy atascado con una macro y no se como continuar, os cuento un poco para que me podáis entender mejor. Tengo una serie de datos en la hoja "DATOS" y he hecho 2 botones el primero pone los nombres de las máquinas, los títulos de los cálculos y calcula los datos del día 1 (ya que voy a usar el documento para una semana=5dias)
pero solo de los sectores con patrón "MOV-RISPACS-XXX". El otro botón me calcula el resto de los días de la semana solo de los sectores con patrón "MOV-RISPACS-XXX". Ahora viene mi atasco: Lo que quiero conseguir es que me haga los cálculos (hoja "CALCULOS") de los sectores con patrón "Sector:ZARAGOZAXXXXX" y "WALQA" y que los copie en la hoja "RESUMEN" en el sector ("Sector:ZARAGOZAXXXXX") y lugar que corresponda (ya que los nombres y títulos de las máquinas
si que los he logrado sacar). Os adjunto el documento con el que estoy trabajando para que podáis entenderme mejor, en el hay una hoja llamada cálculos en la que están las fórmulas para los cálculos para los nuevos sectores. "Sector:ZARAGOZAXXXXX" y "WALQA"

1 respuesta

Respuesta
1

Envíame tu archivo y me explicas con ejemplos qué es lo que necesitas.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Alberto Sierra” y el título de esta pregunta.

¡Muchas Gracias! 

Te he mandado un correo a la dirección que me dices, explicándote mi problema.

Un abrazo

Alberto

Te anexo la macro para los sectores "zaragoza"

Sub SetorZaragoza()
'Por.Dante Amor
    Dim filas()
    Dim sectores()
    Set h1 = Sheets("DATOS")
    Set h2 = Sheets("RESUMEN")
    '
    'Buscar fecha
    Set b = h1.Rows(1).Find("-", lookat:=xlPart)
    If Not b Is Nothing Then
        fecha = CDate(b.Value)
    Else
        Set b = h1.Rows(1).Find("/", lookat:=xlPart)
        If Not b Is Nothing Then
            fecha = CDate(b.Value)
        Else
            fecha = Date
        End If
    End If
    '
    Set b = h2.Rows(1).Find(fecha, lookat:=xlWhole)
    If Not b Is Nothing Then
        col = b.Column
    Else
        col = h2.Cells(1, Columns.Count).End(xlToLeft).Column + 1
        h2.Cells(1, col) = fecha
    End If
    '
    'buscar sectores "ZARAGOZA"
    n = 0
    Set r = h1.Columns("A")
    Set b = r.Find("ZARAGOZA", lookat:=xlPart)
    If Not b Is Nothing Then
        Celda = b.Address
        Do
            n = n + 1
            ReDim Preserve filas(n)
            ReDim Preserve sectores(n)
            filas(n) = b.Row
            sectores(n) = b.Value
            Set b = r.FindNext(b)
        Loop While Not b Is Nothing And b.Address <> Celda
    End If
    '
    'Pasar Datos
    For i = 1 To n
        fila = filas(i)
        ufila = h1.Cells(fila + 6, "C").End(xlDown).Row
        For j = fila + 6 To ufila
            Select Case h1.Cells(j, "C")
            Case "/mnt/logs":                                   vlog = h1.Cells(j, "A")
            Case "/mnt/vols/vol_C000", "/mnt/vols/vol_B000":    v000 = h1.Cells(j, "A")
            Case "/mnt/mensajes":                               vmen = h1.Cells(j, "A")
            End Select
        Next
        '
        sector = sectores(i)
        Set b = h2.Columns("A").Find(sector, lookat:=xlWhole)
        If Not b Is Nothing Then
            fil = b.Row
        Else
            fil = h2.Range("A" & Rows.Count).End(xlUp).Row + 2
        End If
        '
        h2.Cells(fil, "A") = sector
        h2.Cells(fil + 1, "A") = "LIBRE VOL LOG"
        h2.Cells(fil + 2, "A") = "LIBRE VOL 0"
        h2.Cells(fil + 3, "A") = "LIBRE VOL MENSAJES"
        h2.Cells(fil + 4, "A") = "% TOTAL OCUPADO EN VOLUMENES"
        h2.Cells(fil + 5, "A") = "FREESPACE EN VOLUMENES"
        '
        h2.Cells(fil + 1, col) = vlog
        h2.Cells(fil + 2, col) = v000
        h2.Cells(fil + 3, col) = vmen
        h2.Cells(fil + 4, col) = vtot
        h2.Cells(fil + 5, col) = vvol
    Next
    MsgBox "fin"
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas