Cuestión : Excel VBA - Concatenar las células en cada otra columna en gama

El archivo atado tiene algunas columnas donde quisiera ensamblar todas las columnas del texto (cada segunda columna que comienza con B) y poner los resultados en una columna en Sheet1, por ejemplo. el
Hard-coded con una fórmula, sería el =concatenate bastante simple (b2, “ | ”, d2, “ | ”, F2, “ | ”, h2) con el pipa-símbolo “ | ” dividiendo cada campo del texto.  O podía apenas ser =b2 y “ | ” y d2… etc.  ¿Entonces pegar la fórmula abajo del page.

I no puede imaginar cómo hacer esto en VBA though.
I pensar que usted tiene que utilizar a para… cada uno y contar las columnas a través para terminar (xlToLeft) entonces el paso 2 para cada otro column.
Then…?  cada célula se agrega la siguiente hasta el extremo de la gama. ¿??? ¡
For cualquier razón el sintaxis para la colección de la gama y de las células (y la lógica de la cuenta a través y después de referirse a las variables) no hace sentido o trabajo para me.
Thanks para su ayuda!
class= " lastRow del
>Attachments del " nombre " del class= del class= " valor " del
del >

class= " fileInfo " del
el title= " del " nombre de fichero del class= " del sampleText-concatenate.xls el class= (32 KB)  Javascript del href= " de los " attachmentDetails del class= " del (tipo de archivo detalles)  
class= " descripción " del
concatenar las células en cada otro column
el class= de
del >
class= del

Respuesta : Excel VBA - Concatenar las células en cada otra columna en gama

Intentar esto:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
Sub ConcatenateText ()
    
    Amortiguar el lastRow como de largo
    Amortiguar el lastCol como de largo
    Amortiguar el tempLastRow como de largo
    Amortiguar i como de largo 'incrementan filas
    Amortiguar p como de largo 'incrementan columnas
    Amortiguar el conValue como secuencia
    El conSheet dévil como secuencia 'concatena nombre de la hoja
    destSheet dévil como nombre de la hoja de la destinación de secuencia '
    
    destSheet = “Sheet1”
    conSheet = “surveyText”

    lastRow = hojas (conSheet). Gama (“A” y Rows.Count). Extremo (xlUp). Fila
    lastCol = hojas (conSheet). Gama (Columns.Count y “: 1”). Extremo (xlToRight). Columna
    
    Para i = 2 al lastRow
        Para p = 2 al paso 2 del lastCol
            conValue = conValue y “ | ” Y hojas (conSheet). Células (i, p). Valor
        Después
        tempLastRow = hojas (destSheet). Gama (“A” y Rows.Count). Extremo (xlUp). Fila + 1
        Hojas (destSheet). Células (tempLastRow, 1).Value = derecho (conValue, Len (conValue) - 3)
        conValue = ""
    Después i
    
    MsgBox “hecho!”
    
Submarino del extremo
Otras soluciones  
 
programming4us programming4us