Ayuda urgente.

17/03/2005 - 18:52 por NOEŽS | Informe spam
Hola, podrían ayudarme a simplificar esto con un macro o
algo así. De antemano gracias.

Tengo los siguientes datos ejemplo de 1 a 2000

A
1 1
2 2
3 3
4 4
. .
. .
2000 2000

Lo que necesito es un codigo de VB que me concatene de 20
en 20 horizontalmente en la hoja numero 2 pero no se como
hacerlo podrian ayudarme con esto ya que hacerlo
manualmente me esta llevando mucho tiempo y tengo un tiempo
limite para hacerlo, los datos son direcciones de Email,
pero el correo que utilizo es como hotmail que no me
permite copiar y pegar verticalmente las direcciones si no
unicamente horizontalmente ya que al momento de copiar y
pegar solo me tira la primera direccion y tengo un limite
de envio de 20, por esa razon necesito algo que me
simplifique ya que son miles de direcciones. Espero
haberme dado a entender de antemano gracias. por su ayuda.

Preguntas similare

Leer las respuestas

#6 KL
19/03/2005 - 01:56 | Informe spam
Hola NOE´S,

Prueba el siguiente macro.

Saludos,
KL

'-Inicio Codigo-
Sub Concatenar()
Dim rng As Range, Col As String
Dim i As Integer, PFila As Integer
Dim UFila As Long, NCadenas As Long
Dim Ciclo As Long, Separador As String

Ciclo = 20
Col = "A"
PFila = 1
Separador = "; "
With ActiveSheet
UFila = .Cells(.Rows.Count, Col).End(xlUp).Row
NCadenas = (UFila - PFila) / Ciclo
If NCadenas < 1 Then Exit Sub
Set rng = .Range(.Cells(PFila, Col), .Cells(PFila + (Ciclo - 1),
Col))
For i = 1 To Int(NCadenas)
.Cells(i, Col).Offset(0, 1) = _
Join(Application.Transpose(rng.Offset(Ciclo * (i - 1), 0)),
Separador)
Next i
Set rng = .Range(.Cells(Ciclo * (i - 1) + 1, Col), .Cells(UFila,
Col))
.Cells(i, Col).Offset(0, 1) = _
Join(Application.Transpose(rng), Separador)
End With
End Sub
'-Fin Codigo-
Respuesta Responder a este mensaje
#7 NOEŽS
31/03/2005 - 01:50 | Informe spam
Oye muchas gracias KL yo pense que ya te habias olvidado de
mi problemita pero gracias disculpa que hasta ahora te
contesto pero estaba de vacaciones, muchas gracias por el
codigo lo pruebo y cualquier duda te comento. saludos

atte
noes


Hola NOEŽS,

Prueba el siguiente macro.

Saludos,
KL

'-Inicio Codigo-
Sub Concatenar()
Dim rng As Range, Col As String
Dim i As Integer, PFila As Integer
Dim UFila As Long, NCadenas As Long
Dim Ciclo As Long, Separador As String

Ciclo = 20
Col = "A"
PFila = 1
Separador = "; "
With ActiveSheet
UFila = .Cells(.Rows.Count, Col).End(xlUp).Row
NCadenas = (UFila - PFila) / Ciclo
If NCadenas < 1 Then Exit Sub
Set rng = .Range(.Cells(PFila, Col), .Cells(PFila


+ (Ciclo - 1),
Col))
For i = 1 To Int(NCadenas)
.Cells(i, Col).Offset(0, 1) = _



Join(Application.Transpose(rng.Offset(Ciclo * (i - 1), 0)),
Separador)
Next i
Set rng = .Range(.Cells(Ciclo * (i - 1) + 1, Col),


.Cells(UFila,
Col))
.Cells(i, Col).Offset(0, 1) = _
Join(Application.Transpose(rng), Separador)
End With
End Sub
'-Fin Codigo-


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida