Sintaxis para hacer una sumatoria de un rango de celdas de una hoja y pagarlo en otra hoja con macro

buenos días. Tengo un ciclo for en el cual estoy haciendo una sumatoria de un rango de celdas de una hoja y asigno los valores a una columna especifica y si me sale, pero ahora quiero agregar en otra columna la misma sumatoria pero de otra hoja, aquí esta el código:

Sub acumuladoxcobrar()
hoja = ActiveSheet.Name

hbase = Sheets("cobros 2012").Name
columna = "H" ESPECIFICO LA COLUMNA DE ENTRADA POR MERA PRUEBAS DESPUÉS OBTENDRÁ EL VALOR DE UNA VARIABLE
For Each celda In Range("H8:H95") 'Range(col & 8 & ":" & col & 67) '
celda.Select
ubica = celda.Address
'col = "H"
fin = "$S$" & celda.Row
If celda.HasFormula Or celda.Value = Null Or celda.Value = "" Then
'Sheets("hoja2").Range(ubica).Value = "tiene fórmula"
GoTo salto
Else
copia = "$Z" & Mid(ubica, 3)

ubicabase = "$AA" & Mid(ubica, 3)
Select Case columna
Case "H"
Sheets(hoja).Range(copia).Value = WorksheetFunction.Sum(Range("$I$" & celda.Row & ":" & fin))

Sheets(hoja).Range(ubicabase).Value = Sheets(hbase).WorksheetFunction.Sum(Range("$I$" & celda.Row & ":" & fin))

'aquí es donde me marca el error de que no acepta la función posiblemente este mal escrita la sintaxis donde hago referencia a la hojabase de la cual me quiero traer la sumatoria


Case "I"
Sheets(hoja).Range(copia).Value = WorksheetFunction.Sum(Range("$J$" & celda.Row & ":" & fin))
Case "J"
Sheets(hoja).Range(copia).Value = WorksheetFunction.Sum(Range("$K$" & celda.Row & ":" & fin))
Case "K"
Sheets(hoja).Range(copia).Value = WorksheetFunction.Sum(Range("$L$" & celda.Row & ":" & fin))
Case "L"
Sheets(hoja).Range(copia).Value = WorksheetFunction.Sum(Range("$M$" & celda.Row & ":" & fin))
Case "M"
Sheets(hoja).Range(copia).Value = WorksheetFunction.Sum(Range("$N$" & celda.Row & ":" & fin))
Case "N"
Sheets(hoja).Range(copia).Value = WorksheetFunction.Sum(Range("$O$" & celda.Row & ":" & fin))
Case "O"
Sheets(hoja).Range(copia).Value = WorksheetFunction.Sum(Range("$P$" & celda.Row & ":" & fin))
Case "P"
Sheets(hoja).Range(copia).Value = WorksheetFunction.Sum(Range("$Q$" & celda.Row & ":" & fin))
Case "Q"
Sheets(hoja).Range(copia).Value = WorksheetFunction.Sum(Range("$R$" & celda.Row & ":" & fin))
Case "R"
Sheets(hoja).Range(copia).Value = WorksheetFunction.Sum(Range("$S$" & celda.Row & ":" & fin))
Case "S"
Sheets(hoja).Range(copia).Value = celda.Value
End Select
End If
salto:
Next
End Sub

el código que esta arriba escrito si me funciona lo que le quiero agregar esta en negritas y no me funciona lo mas probable es que sea por la sintaxis... Y solicito de su ayuda ya que apenas me estoy adentrando en la programación con macros y la desconozco

repito mi código si funciona sin lo que esta en negritas.

1 respuesta

Respuesta
1

Cambia la línea por esta

Sheets(hoja).Range(ubicabase).Value = WorksheetFunction.Sum(Sheets(hbase).Range("$I$" & celda.Row & ":" & fin))

Saludos. Dam

Podrías de favor, finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas