2017-03-08 3 views
0

Ich erstelle named Bereich dynamisch mit VBA. Dann möchte ich in jedem benannten Bereich auf jeder Seite in ein Wort exportieren. ZB: Benannter Bereich wäre Page1, Page2, ... Page10 ... etc. Wenn ich versuche zu exportieren, kommt Seite1 zuerst und Seite10 kommt an zweiter Stelle. Wie machen es Seiten 1, 2, etc ...Excel VBA Suche nach benannten Bereich in bestimmter Reihenfolge

For intCounter = 1 To wbBook.Names.Count 
     MsgBox Names(intCounter).name 
     'If IsNameRefertoSheet(oSht, Names(intCounter)) Then 
     If Names(intCounter).name Like "Page*" Then 
      With objDoc 
       Set rtarget = .Range(.Content.End - 1, .Content.End - 1) 
       'Insert page break if not first page 
       If Names(intCounter).name <> "Page1" Then rtarget.InsertBreak Type:=wdPageBreak 
       'Copy data from named range 
       Range(wbBook.Names(intCounter)).Copy 
       Set rtarget = .Range(.Content.End - 1, .Content.End - 1) 
       rtarget.Paste 
      End With 
     End If 
     'End If 
    Next intCounter 
+1

"Seite10" indeeds kommt vor "Seite 2" in einer alphabetisch sortiert. Packen Sie Ihre Zahlen mit Nullen, um stattdessen "Page001" zu erstellen. so wird "Page010" immer nach "Page002" kommen. –

+0

@ Mat'sMug, es funktionierte wie Sie vorgeschlagen haben. Vielen Dank! – Manish

Antwort

0

ein Satz

nbrofpage=10 'set your number of pages 
For intcounter = 1 To nbrofpage 
    With objDoc 
     Set rtarget = .Range(.Content.End - 1, .Content.End - 1) 
     'Insert page break if not first page 
     If intcounter <> 1 Then rtarget.InsertBreak Type:=wdPageBreak 
     'Copy data from named range 
     Range("page" & intcounter).Copy 
     Set rtarget = .Range(.Content.End - 1, .Content.End - 1) 
     rtarget.Paste 
    End With 
Next intcounter 
+0

Danke für Ihre Antwort. Arbeitsbuch hat viele benannte Bereiche. Wenn ich für einen bestimmten benannten Bereich aus einem bestimmten Blatt in ein Wort exportiere, wird eine andere Reihenfolge und auch ein Fehler in der Zwischenablage angezeigt. Jede Alternative oder Hilfe würde sehr geschätzt werden. Danke! – Manish

+0

Die Änderung des Namens von page1 zu page001, page002 usw. hat funktioniert. Danke! – Manish

Verwandte Themen