Ayuda

27/11/2007 - 15:41 por NB | Informe spam
necesito pasar este archivo a formato base de datos, debajo les muestro como
deberia quedar
A - 03#2498 2498 Open
"ARHANCET"
A - 56#2386 2386 Open
"ENCUADRE"
"ARHANCET33"
A - 03#2499 2498 Open
"ARHANCET"
"ARHANCET2"
"ARHANCET5"
A - 56#2386 2386 Open
"ENCUADRE"
-
A - 03#2498 2498 Open "ARHANCET"
A - 56#2386 2386 Open "ENCUADRE" "ARHANCET33"
A - 03#2499 2498 Open "ARHANCET" "ARHANCET2" "ARHANCET5"
A - 56#2386 2386 Open "ENCUADRE"

intente con esta macro pero, falta algo

Sub zangg()
'
Range("A2").Select
For f = 1 To 10
If InStr(Cells(f, 1), "#") = 0 Then
Selection.Copy
ActiveCell.Offset(-1, 3).Range("A1").Select
ActiveSheet.Paste
End If
Next
End Sub
 

Leer las respuestas

#1 David
27/11/2007 - 16:27 | Informe spam
Te aconsejaría modificar un poco tu código. Primero, podría ser que alguna
vez no tuvieras 10 datos (en el ejemplo que expones son 11 filas...), por lo
que te recomiendo no utilizar ciclos For. Cámbialos por Do-Loop. Mira si te
funciona el código que te propongo, y comentas cómo resulta en tu caso:

Sub zangg()
Dim x As String, f As Long, fa As Long

f = 1
fa = 1
Do
If InStr(Cells(f, 1), "#") = 0 Then
x = x & Cells(f, 1).Value & " "
Else
Cells(fa, 4).Value = x
x = ""
fa = f
End If
f = f + 1
Loop Until Len(Cells(f, 1).Value) = 0
Cells(fa, 4).Value = x

End Sub


Luego, necesitarás eliminar las filas que moviste para la cuarta columna:

Sub EliminarFilas()
Dim f As Long
f = 1
Do
If InStr(Cells(f, 1).Value, "#") = 0 Then
Cells(f, 1).EntireRow.Delete
Else
f = f + 1
End If
Loop Until Len(Cells(f, 1).Value) = 0
End Sub

Saludos...



"NB" escribió:

necesito pasar este archivo a formato base de datos, debajo les muestro como
deberia quedar
A - 03#2498 2498 Open
"ARHANCET"
A - 56#2386 2386 Open
"ENCUADRE"
"ARHANCET33"
A - 03#2499 2498 Open
"ARHANCET"
"ARHANCET2"
"ARHANCET5"
A - 56#2386 2386 Open
"ENCUADRE"
-
A - 03#2498 2498 Open "ARHANCET"
A - 56#2386 2386 Open "ENCUADRE" "ARHANCET33"
A - 03#2499 2498 Open "ARHANCET" "ARHANCET2" "ARHANCET5"
A - 56#2386 2386 Open "ENCUADRE"

intente con esta macro pero, falta algo

Sub zangg()
'
Range("A2").Select
For f = 1 To 10
If InStr(Cells(f, 1), "#") = 0 Then
Selection.Copy
ActiveCell.Offset(-1, 3).Range("A1").Select
ActiveSheet.Paste
End If
Next
End Sub

Preguntas similares