Precedente :: Successivo |
Autore |
Messaggio |
zazza Comune mortale
Registrato: 27/03/13 09:39 Messaggi: 2
|
Inviato: 27 Mar 2013 19:20 Oggetto: Macro da Word ad Excel |
|
|
Ciao,
sarebbe possibile implementare una macro per la copiatura di determinati paragrafi da un foglio Word ad Excel?
Come vedete i paragrafi legati agli elementi dovrebbero essere copiati in determinate parti Excel..
Ho un codice che potrebbe aiutare per quanto riguarda in particolare l'identificazione dell'area da copiare. Posso riportarlo se pensate aiuti ma andava bene per Excel! Non so se possa aiutare per word..
Grazie!
P.s.
per uplodare? |
|
Top |
|
|
GrayWolf Dio maturo
Registrato: 03/07/05 16:24 Messaggi: 2325 Residenza: ... come frontiera i confini del mondo...
|
Inviato: 28 Mar 2013 01:10 Oggetto: |
|
|
Occorre fare delle prove...
due ipotesi:
.1 con codice vba:
.1.1 creare un'istanza di excel nella macro di word,
.1.2 catturare i paragrafi
.1.3 posizionarli nelle celle con il codice exel
.2 utilizzare un "ponte" in vbscript
.2.1 creare un'istanza di word
.2.2 creare un'istanza di excel
.2.3 con l'istanza di word catturare i paragrafi
.2.4 con l'istanza di excel alimentare le celle
NOTA: word ed excel fanno riferimento a oggetti diversi
ora ho poco tempo, ma in questi giorni provo a fare qualche esperimento
[certo che una spiegazione più esauriente delle tue esigenze,
magari accompagnata da un esempio, non guasterebbe]
non hai bisogno di uploadare
è sufficiente incollare il codice della macro fra i due tag code
esempio:
Codice: |
incolla qui il codice
|
|
|
Top |
|
|
zazza Comune mortale
Registrato: 27/03/13 09:39 Messaggi: 2
|
Inviato: 18 Apr 2013 11:36 Oggetto: |
|
|
Ciao,
l'albero che avevo immaginato era il classico del tipo:
1. paragrafo
1.1 sub - paragrafo
e lo vorrei riportare in Excel per poter poi utilizzare dei filtri evenutalmente.. Non ho niente di piu preciso da darti al momento..
Cmq ti giro una traccia di un codice che utilizzamo per copiare in altri file (sempre Excel) degli elementi che ci interessavano.
Codice: |
Sub copia()
Dim ws1 As Worksheet
Dim ultD As Long
Dim cl As Range
Dim cl2 As Range
Dim ColC As Range
Dim NAlfredo As Long
Dim NBarbara As Long
Dim NBruno As Long
Dim NClaudia As Long
Dim area1 As Range
Dim area2 As Range
Dim area3 As Range
Dim area4 As Range
Set ws1 = ThisWorkbook.Sheets("Book1.xls")
ultD = ws1.Range("C" & Rows.Count).End(xlUp).Row
Set ColC = ws1.Range("B1:B" & ultD)
For Each cl In ColC
If CStr(cl) = "Alfredo" Then NAlfredo = cl.Row
If CStr(cl) = "Barbara" Then NBarbara = cl.Row
If CStr(cl) = "Bruno" Then NBruno = cl.Row
If CStr(cl) = "Claudia" Then NClaudia = cl.Row
Next cl
Set area1 = ws1.Range("C" & NAlfredo + 1, "C" & NBarbara - 1)
Set area2 = ws1.Range("C" & NBarbara + 1, "C" & NBruno - 1)
Set area3 = ws1.Range("C" & NBruno + 1, "C" & NClaudia - 1)
Set area4 = ws1.Range("C" & NClaudia + 1, "C" & ultD)
For Each cl In area1
If cl <> "" Then
For Each cl2 In Workbooks("Scheda").Worksheets("MA").Range("M5:M8")
If CStr(cl) = CStr(cl2) Then
cl2.Offset(1, 0).Value = cl.Offset(0, 6).Value
Exit For
End If
Next cl2
End If
Next cl
For Each cl In area2
If cl <> "" Then
For Each cl2 In Sheets("Barbara").Range("C17:F17")
If CStr(cl) = CStr(cl2) Then
cl2.Offset(1, 0).Value = cl.Offset(0, 6).Value
Exit For
End If
Next cl2
End If
Next cl
For Each cl In area3
If cl <> "" Then
For Each cl2 In Sheets("Bruno").Range("C17:F17")
If CStr(cl) = CStr(cl2) Then
cl2.Offset(1, 0).Value = cl.Offset(0, 6).Value
Exit For
End If
Next cl2
End If
Next cl
For Each cl In area4
If cl <> "" Then
For Each cl2 In Sheets("Claudia").Range("C17:F17")
If CStr(cl) = CStr(cl2) Then
cl2.Offset(1, 0).Value = cl.Offset(0, 6).Value
Exit For
End If
Next cl2
End If
Next cl
Set ws1 = Nothing
Set ColC = Nothing
Set area1 = Nothing
Set area2 = Nothing
Set area3 = Nothing
Set area4 = Nothing
End Sub
| [/code] |
|
Top |
|
|
|
|
Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi
|
|