Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

  Datenblatt- Namen ermitteln
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
schweden
Newbie
Newbie


Anmeldedatum: 20.10.2007
Beiträge: 25

BeitragVerfasst am: 14.03.2008, 12:58 Nach oben

Hallo, wie kann ich mittels Makro, die Namen der Datenblätter ermitteln und einer Variablen zuweisen???

Und Wie müsste eine Schleife aussehen mit "For each Datenblätter" um mir die Namen aller Datenblätter dieses Excel- Dokumentes zu ermitteln
. Die jeweiligen Namen soll er dann auf dem 1 Blatt unter einander aufführen.

Danke
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5520

BeitragVerfasst am: 14.03.2008, 13:39 Nach oben

Hallo!

Das kannst du sogar ohne VBA hinbekommen:
Menü Einfügen > Namen > Definieren
Name: x
Bezieht sich auf: =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())

Nun schreibe in eine beliebige Zelle diese Formel und fülle sie nach unten aus:

=WENN(ZEILE(A1)>ANZAHL2(x);"";TEIL(INDEX(x;ZEILE(A1));FINDEN("]";INDEX(x;ZEILE(A1)))+1;99))

_________________

Viele Grüße vom Schatzi

------------------------
Dies ist meine Signatur und sie trägt eigentlich nichts zur Lösung deines Problems bei. Sollte sie es dennoch tun, dann bist du definitiv im falschen Forum...Image
Ein Feedback zum ursprünglichen Problem wäre trotzdem nett!
Windows XP, Office2000, Office2007
Benutzer-Profile anzeigenPrivate Nachricht senden
schweden
Newbie
Newbie


Anmeldedatum: 20.10.2007
Beiträge: 25

BeitragVerfasst am: 14.03.2008, 14:18 Nach oben

Ok, aber ich benötige es als VBA. Möchte mir ein Import- Makro schreiben, welches die Namen der Datenblätter ermittelt und dann die entsprechenden Dateien selbständig in die jeweiligen Datenblätter importiert. Der Import hängt jetzt lediglich noch an:

1. Ermittlung der Namen und zu weisen einer Variablen
2. den Pfad so schreiben, das die Variable mit drin steht
(jetzt ist alles zwischen " E:\....."&Variable&".txt), geht aber noch nicht
3. Bei der Schleife: For each Datenblatt, springt er noch nicht in das nächste Datenblatt. Der Variablen Datenblatt ist die Zahl der Datenblätter bereits zu georndet....

Vielleicht hilft das weiter.....
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5520

BeitragVerfasst am: 14.03.2008, 14:23 Nach oben

Hallo!

Wie ist es hiermit?

Dim ws as Worksheet
For Each ws in ThisWorkbook.Worksheets
MsgBox ws.Name
Next ws

_________________

Viele Grüße vom Schatzi

------------------------
Dies ist meine Signatur und sie trägt eigentlich nichts zur Lösung deines Problems bei. Sollte sie es dennoch tun, dann bist du definitiv im falschen Forum...Image
Ein Feedback zum ursprünglichen Problem wäre trotzdem nett!
Windows XP, Office2000, Office2007
Benutzer-Profile anzeigenPrivate Nachricht senden
schweden
Newbie
Newbie


Anmeldedatum: 20.10.2007
Beiträge: 25

BeitragVerfasst am: 14.03.2008, 15:49 Nach oben

Das ist doch schon mal was....

Kann ich dann einfach anstatt von:
"MsgBox ws.Name" auch Variable ws.Name" schreiben, damit ich meine Importe auch für jedes Datenblatt machen kann?

Wie müsste der Pfad aussehen, damit ich darin auch die Variable nutzen kann?

Bis jetzt habe ich es so:

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;E:\Hiwi\NLH-Dateien\"&Variable&".nlh" _
, Destination:=Range("$A$1"))

oder wie sollte es definiert werden? Es soll in einen bestimmten Pfad auf der Festplatte gehen und dort die Datei importieren, welche den selben Namen wie auch das Datenblatt hat....
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5520

BeitragVerfasst am: 14.03.2008, 15:54 Nach oben

Hallo!

Geht denn sowas nicht?

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;E:\Hiwi\NLH-Dateien\"&ws.Name&".nlh" _
, Destination:=Range("$A$1"))

Du kannst den Blattnamen natürlich auch an eine Variable übergeben:

Dim Vari as String
...
Vari = ws.Name

_________________

Viele Grüße vom Schatzi

------------------------
Dies ist meine Signatur und sie trägt eigentlich nichts zur Lösung deines Problems bei. Sollte sie es dennoch tun, dann bist du definitiv im falschen Forum...Image
Ein Feedback zum ursprünglichen Problem wäre trotzdem nett!
Windows XP, Office2000, Office2007
Benutzer-Profile anzeigenPrivate Nachricht senden
schweden
Newbie
Newbie


Anmeldedatum: 20.10.2007
Beiträge: 25

BeitragVerfasst am: 15.03.2008, 10:22 Nach oben

Hier ist mal mein VBA- Code:


Code:

Sub Import()
'
' Import Makro


Dim Blatt As Worksheet
Dim Ende As Integer, i As Integer, Spalte As Integer
Dim Serie As String

For Each Blatt In ThisWorkbook.Worksheets


    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;D:\Arbeit\" & Blatt.Name _
        , Destination:=Range("$A$1"))
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileDecimalSeparator = "."
        .TextFileThousandsSeparator = ","
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1)
        .TextFileFixedColumnWidths = Array(15, 16)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
       
    End With
   
    Next Blatt
   
End Sub


Meine Probleme sind nun:

1. Es werden alle Dateien deren Namen identisch mit einem Datenblattnamen sind importiert, das ist schon mal richtig, ABER alle Daten werden in das aktive Datenblatt importiert und nicht die jeweiligen Daten in das entsprechende Datenblatt????

2. Er frisst nicht die Dateiendung: z.B:
Code:

With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;D:\Arbeit\" & Blatt.Name _
        , Destination:=Range("$A$1"))

das geht, ABER dann muss das Datenblatt auch Name.txt heisen
, weil er das:
Code:

With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;D:\Arbeit\" & Blatt.Name&".txt" _
        , Destination:=Range("$A$1"))



nicht kann. Leider.....

Aber bestimmt hat da jemand eine Lösung

Danke, schon mal
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5520

BeitragVerfasst am: 15.03.2008, 12:30 Nach oben

Hallo!

Ich habe von solchen Datenimporten zwar keine Ahnung, aber
...Destination:=Blatt.Range("A1")...
sollte der Schlüssel sein.

Für das andere Problem hilft dann vielleicht doch eine Variable?

Vari = Blatt.Name & ".txt"

_________________

Viele Grüße vom Schatzi

------------------------
Dies ist meine Signatur und sie trägt eigentlich nichts zur Lösung deines Problems bei. Sollte sie es dennoch tun, dann bist du definitiv im falschen Forum...Image
Ein Feedback zum ursprünglichen Problem wäre trotzdem nett!
Windows XP, Office2000, Office2007
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Datenblatt mit begrenzter Größe Martin04 Microsoft Excel Hilfe 6 25.04.2008, 13:48 Letzten Beitrag anzeigen
Keine neuen Beiträge externe Tabelle bzw. deren Namen in F... TheRedNoseRudolf Microsoft Excel Hilfe 2 14.04.2008, 16:09 Letzten Beitrag anzeigen
Keine neuen Beiträge Maximum in drei Spalten ermitteln susanita13 Microsoft Excel Hilfe 2 11.04.2008, 15:57 Letzten Beitrag anzeigen
Keine neuen Beiträge Zusammenführung unter versch. Namen a... suissesurfer Microsoft Excel Hilfe 1 24.03.2008, 12:57 Letzten Beitrag anzeigen
Keine neuen Beiträge Farbliche Unterlegung und Zuordnung v... arroganz09 Microsoft Excel Hilfe 2 08.03.2008, 19:34 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de