Pasar datos de Word a Excel

16/05/2009 - 18:50 por JLG | Informe spam
Hola,
Tengo una hoja en word con los datos de la siguiente manera:

Mi referencia1
Datos clientes1
Dirección cliente1

Mi referencia2
Datos clientes2
Direccion cliente2

etc.

y quisiera pasarlos a una hoja de excel así,
Mi referencia1 Datos clientes1 Dirección cliente1
Mi referencia2 Datos clientes2 Dirección cliente2


¿hay alguna posibilidad?

gracias

Preguntas similare

Leer las respuestas

#1 Monica May
17/05/2009 - 00:59 | Informe spam
hola,

- Exctamente tienes los datos asi, tal cual los has expuesto?
-Tablas?
-Valores adiconales?
-Imagenes?

Comentanos...!

Saludos
Monica




Tengo una hoja en word con los datos de la siguiente manera:
Mi referencia1
Datos clientes1
Dirección cliente1

Mi referencia2
Datos clientes2
Direccion cliente2
...
etc.
y quisiera pasarlos a una hoja de excel asi,
Mi referencia1 Datos clientes1 Dirección cliente1
Mi referencia2 Datos clientes2 Dirección cliente2
Respuesta Responder a este mensaje
#2 Héctor Miguel
17/05/2009 - 01:04 | Informe spam
hola (...), ?????

asumiendo que en el documento de word inicias desde la linea1, TRES datos y UNA fila en blanco entre cada grupo (???)
lo que no se es si en la ultima fila tengas un salto de linea, o sea una marca de fin de parrafo o solo el fin de la linea (???)

el siguiente ejemplo, macro desde word, crea una instancia de excel, agrega un libro nuevo y traspasa TRES datos (horizontal)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

op1: agregando variables por cada linea de datos necesaria (tres datos ?)

Sub Transponer_A_Excel()
Dim miExcel As Object, Fila As Integer, Linea As Integer, _
Linea1 As String, Linea2 As String, Linea3 As String
' ultima linea = ActiveDocument.ComputeStatistics(wdStatisticLines) _
o: = ActiveDocument.BuiltInDocumentProperties(wdPropertyLines) _
o por parrafos: = ActiveDocument.Paragraphs.Count
Set miExcel = CreateObject("excel.application")
miExcel.Workbooks.Add
miExcel.Visible = True
Fila = 1
With ActiveDocument
For Linea = 1 To .ComputeStatistics(wdStatisticLines) Step 4
Linea1 = .Range(.Paragraphs(Linea).Range.Start, .Paragraphs(Linea).Range.End - 1).Text
Linea2 = .Range(.Paragraphs(Linea + 1).Range.Start, .Paragraphs(Linea + 1).Range.End - 1).Text
Linea3 = .Range(.Paragraphs(Linea + 2).Range.Start, .Paragraphs(Linea + 2).Range.End - 1).Text
Fila = Fila + 1
miExcel.ActiveWorkbook.ActiveSheet.Range("a" & Fila).Resize(, 3).Value = Array(Linea1, Linea2, Linea3)
Next
End With
Set miExcel = Nothing
End Sub

op2: SIN las variables de cada linea (Linea1, Linea2, Linea3 -mas x_lineas mas-)
Sub Transponer_A_Excel()
Dim miExcel As Object, Fila As Integer, Linea As Integer
' ultima linea = ActiveDocument.ComputeStatistics(wdStatisticLines) _
o: = ActiveDocument.BuiltInDocumentProperties(wdPropertyLines) _
o por parrafos: = ActiveDocument.Paragraphs.Count
Set miExcel = CreateObject("excel.application")
miExcel.Workbooks.Add
miExcel.Visible = True
Fila = 1
With ActiveDocument
For Linea = 1 To .ComputeStatistics(wdStatisticLines) Step 4
Fila = Fila + 1
miExcel.ActiveWorkbook.ActiveSheet.Range("a" & Fila).Resize(, 3).Value = Array( _
.Range(.Paragraphs(Linea).Range.Start, .Paragraphs(Linea).Range.End - 1).Text, _
.Range(.Paragraphs(Linea + 1).Range.Start, .Paragraphs(Linea + 1).Range.End - 1).Text, _
.Range(.Paragraphs(Linea + 2).Range.Start, .Paragraphs(Linea + 2).Range.End - 1).Text)
Next
End With
Set miExcel = Nothing
End Sub

__ OP __
Tengo una hoja en word con los datos de la siguiente manera:

Mi referencia1
Datos clientes1
Direccion cliente1

Mi referencia2
Datos clientes2
Direccion cliente2

etc.

y quisiera pasarlos a una hoja de excel asi,
Mi referencia1 Datos clientes1 Dirección cliente1
Mi referencia2 Datos clientes2 Dirección cliente2
Respuesta Responder a este mensaje
#3 Monica May
17/05/2009 - 01:22 | Informe spam
holas,

la virgen :O !!

muy buena respuesta :P !!

:) :) !!

Saludos
Monica




"Héctor Miguel" escribio
asumiendo que en el documento de word inicias desde la linea1, TRES datos
y
UNA fila en blanco entre cada grupo (???)
lo que no se es si en la ultima fila tengas un salto de linea, o sea una
marca de
fin de parrafo o solo el fin de la linea (???)
el siguiente ejemplo, macro desde word, crea una instancia de excel,
agrega un
libro nuevo y traspasa TRES datos (horizontal)
si cualquier duda (o informacion adicional)... comentas ?
op1: agregando variables por cada linea de datos necesaria (tres datos ?)

Sub Transponer_A_Excel()
Dim miExcel As Object, Fila As Integer, Linea As Integer, _
Linea1 As String, Linea2 As String, Linea3 As String
' ultima linea = ActiveDocument.ComputeStatistics(wdStatisticLines) _
o: = ActiveDocument.BuiltInDocumentProperties(wdPropertyLines) _
o por parrafos: = ActiveDocument.Paragraphs.Count
Set miExcel = CreateObject("excel.application")
miExcel.Workbooks.Add
miExcel.Visible = True
Fila = 1
With ActiveDocument
For Linea = 1 To .ComputeStatistics(wdStatisticLines) Step 4
Linea1 = .Range(.Paragraphs(Linea).Range.Start,
.Paragraphs(Linea).Range.End - 1).Text
Linea2 = .Range(.Paragraphs(Linea + 1).Range.Start, .Paragraphs(Linea
+ 1).Range.End - 1).Text
Linea3 = .Range(.Paragraphs(Linea + 2).Range.Start, .Paragraphs(Linea
+ 2).Range.End - 1).Text
Fila = Fila + 1
miExcel.ActiveWorkbook.ActiveSheet.Range("a" & Fila).Resize(,
3).Value = Array(Linea1, Linea2, Linea3)
Next
End With
Set miExcel = Nothing
End Sub

op2: SIN las variables de cada linea (Linea1, Linea2, Linea3 -mas x_lineas
mas-)
Sub Transponer_A_Excel()
Dim miExcel As Object, Fila As Integer, Linea As Integer
' ultima linea = ActiveDocument.ComputeStatistics(wdStatisticLines) _
o: = ActiveDocument.BuiltInDocumentProperties(wdPropertyLines) _
o por parrafos: = ActiveDocument.Paragraphs.Count
Set miExcel = CreateObject("excel.application")
miExcel.Workbooks.Add
miExcel.Visible = True
Fila = 1
With ActiveDocument
For Linea = 1 To .ComputeStatistics(wdStatisticLines) Step 4
Fila = Fila + 1
miExcel.ActiveWorkbook.ActiveSheet.Range("a" & Fila).Resize(,
3).Value = Array( _
.Range(.Paragraphs(Linea).Range.Start,
.Paragraphs(Linea).Range.End - 1).Text, _
.Range(.Paragraphs(Linea + 1).Range.Start, .Paragraphs(Linea +
1).Range.End - 1).Text, _
.Range(.Paragraphs(Linea + 2).Range.Start, .Paragraphs(Linea +
2).Range.End - 1).Text)
Next
End With
Set miExcel = Nothing
End Sub

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