Suma de 2 celdas en VBA

Sirhill -  
Polux31 Mensajes publicados 7219 Estado Miembro -
Hola,

tengo un pequeño problema porque quiero sumar 2 celdas de una hoja y poner el resultado en una celda de otra hoja. Pero la fórmula VBA que he puesto no funciona.
¿Podrías ayudarme a resolver este pequeño problema? Gracias de antemano.
Aquí está mi línea de código:

Worksheets("DI").Range("Q" & MaxDI).Value = Application.WorksheetFunction.Sum(Sheets("Budget").Range("AV" & CptBudget), Sheets("Budget").Range("AT" & CptBudget))

Gracias por tu ayuda.
CR

2 respuestas

  1. Polux31 Mensajes publicados 7219 Estado Miembro 1 204
     
    Hola,

    En principio:

    Worksheets(2).Range("A1").Value = Worksheets(1).Range("A1").Value + Worksheets(1).Range("A2").Value

    ;o)
    --
    «Lo que se concibe bien se expresa con claridad, Y las palabras para decirlo llegan fácilmente.»
    Nicolas Boileau
    1
    1. Sirhill
       
      Gracias por tu respuesta. He intentado, pero no funciona. (aunque tu fórmula es buena)
      He encontrado el problema, es que las celdas de origen están en formato texto (debido a la conversión de un archivo .csv), así que cuando sumo, concatena las dos celdas.

      Ahora estoy tratando de encontrar cómo convertir el formato de la columna del archivo .csv a formato numérico cuando realizo mi extracción????

      Aquí está el código que utilizo..

      'Permite convertir los datos copiados del CSV
      Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
      TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
      Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
      :=Array(Array(1, 1), Array(2, 1), Array(3, 1), TrailingMinusNumbers :=True


      Gracias

      CR
      0
  2. Polux31 Mensajes publicados 7219 Estado Miembro 1 204
     
    re

    Para convertir:

    Worksheets(2).Range("A1").Value =CDbl( Worksheets(1).Range("A1").Value) + CDbl(Worksheets(1).Range("A2").Value)

    ;o)

    --
    «Lo que se concibe bien se expresa claramente, Y las palabras para decirlo llegan fácilmente.»
    Nicolas Boileau
    1