concatenar

4 envíos / 0 nuevos
Último envío
tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 1 semana
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
concatenar

como concatenar

Range("A27:A29") en  una celda

ya use este simbolo .Range("A27 ")" & ".Range("A27").Range("A29")  pero me arroja error de sintaxis

 

saludos espero me puedan ayudar

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 hora 12 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
al hablar de Range, entiendo

al hablar de Range, entiendo que estás en una macro

Parece que tienes comillas de más y un & de menos. Prueba con esto:

Range("A27") & Range("A28") & Range("A29") 

 

 

------
Ya sé Excel, pero necesito más.

tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 1 semana
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
buen dia Pacopuse el codigo

buen dia Paco

puse el codigo pero me manda error

te anexo la imagen con el codigo

Sub Copy_ACC_DEF_PREV()
    Dim SourceRange As Range, DestRange As Range
    Dim DestSheet As Worksheet, Lr As Long
               
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
               
    'fill in the Source Sheet and range
    'Set SourceRange = Sheets("PPS Format Back").Range("A27:A29")
     Set SourceRange = Sheets("PPS Format Back").Range("A27") & Range("A28") & Range("A29")
    If IsEmpty(SourceRange) Then
    SourceRange = "?"
    Else
               
    'Fill in the destination sheet and call the LastRow
    'function to find the last row
    Set DestSheet = Sheets("BASE DE DATOS")
    'Lr = LastRow(DestSheet)
     Lr = DestSheet.Cells(Rows.Count, "J").End(xlUp).Row
               
    'With the information from the LastRow function we can
    'create a destination cell and copy/paste the source range
    Set DestRange = DestSheet.Range("J" & Lr + 1)
    End If
    'SourceRange.Copy DestRange
    SourceRange.Copy
    DestRange.PasteSpecial _
            Paste:=xlPasteValues, _
            operation:=xlPasteSpecialOperationNone, _
            skipblanks:=False, _
            Transpose:=False
    Application.CutCopyMode = False


    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
               
End Sub

AdjuntoTamaño
Image icon error_424.jpg121.57 KB
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 hora 12 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
vamos por partes

vamos a ver

La variable SourceRange debe ser un rango, así la has declarado. puede ser el rango de las tres celdas

Pero cuando concatenas las celdas, en realidad lo que tienes es un texto, estás concatenado el contenido de las celdas, y por tanto no lo puedes guardar en una variable de tipo rango.

lo que tampoco puedes hacer es copiar un rango de tres celdas y tratar de pegarlo dentro de una única celda.

en vez de copiar y pegar, asigna el valor de esas tres celdas concatenadas a la celda de destino

algo así:

...

Set SourceRange = Sheets("PPS Format Back").Range("A27:A29") 'el rango de origen con las tres celdas

...

'y en vez de copiar el origen y pegarlo en el destino, puedes hacer algo así 

DestRange.Value=SourceRange.Range("A1").Value & SourceRange.Range("A2").Value & SourceRange.Range("A3").Value

Fíjate, que como el rango de origen es un rango, me refiero a sus tres celdas como la celda A1, A2 y A3 dentro de ese rango.

 

 

------
Ya sé Excel, pero necesito más.