Office: Datenblatt- Namen ermitteln

Helfe beim Thema Datenblatt- Namen ermitteln in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, wie kann ich mittels Makro, die Namen der Datenblätter ermitteln und einer Variablen zuweisen??? Und Wie müsste eine Schleife aussehen mit... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von schweden, 14. März 2008.

  1. schweden Erfahrener User

    Datenblatt- Namen ermitteln


    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
     
    schweden, 14. März 2008
    #1
  2. schatzi Super-Moderator
    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))
     
    schatzi, 14. März 2008
    #2
  3. schweden Erfahrener User
    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.....
     
    schweden, 14. März 2008
    #3
  4. schatzi Super-Moderator

    Datenblatt- Namen ermitteln

    Hallo!

    Wie ist es hiermit?

    Dim ws as Worksheet
    For Each ws in ThisWorkbook.Worksheets
    MsgBox ws.Name
    Next ws
     
    schatzi, 14. März 2008
    #4
  5. schweden Erfahrener User
    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....
     
    schweden, 14. März 2008
    #5
  6. schatzi Super-Moderator
    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
     
    schatzi, 14. März 2008
    #6
  7. schweden Erfahrener User
    Mein Code

    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
     
    schweden, 15. März 2008
    #7
  8. schatzi Super-Moderator

    Datenblatt- Namen ermitteln

    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"
     
    schatzi, 15. März 2008
    #8
Thema:

Datenblatt- Namen ermitteln

Die Seite wird geladen...
  1. Datenblatt- Namen ermitteln - Similar Threads - Datenblatt Namen ermitteln

  2. Zwischen Tabellen wechseln ohne Makro?

    in Microsoft Excel Hilfe
    Zwischen Tabellen wechseln ohne Makro?: Moin Moin Leute, ich habe folgendes Problem: Ich habe eine Datei mit 7 Tabellenblättern, und habe Marko-Button eingefügt über die man zwischen den Tabellen hin und her springt. Das soll als eine...
  3. Neue Namen - alphabetisch sortieren - zugehörige Zellen auf anderen Datenblätter ebenfalls sortieren

    in Microsoft Excel Hilfe
    Neue Namen - alphabetisch sortieren - zugehörige Zellen auf anderen Datenblätter ebenfalls sortieren: Hallo zusammen, bin hier neu und Excel ist noch nicht mein Freund... Vielen Dank vorab fürs Lesen und hineindenken. Ich habe eine Excelmappe mit vielen Blättern. Nur auf dem ersten Blatt sollen...
  4. Excel: numerischer Verweis auf ein anderes Datenblatt

    in Microsoft Excel Hilfe
    Excel: numerischer Verweis auf ein anderes Datenblatt: Hallo. Ich suche nach einer Möglichkeit, Daten aus einem anderen Datenblatt zu entnehmen, ohne dass ich dessen "Datenblatt-Namen" kenne. Ich kenne die Nummer des aktuellen Datenblatts......
  5. Datenblatt per Makro benennen

    in Microsoft Excel Hilfe
    Datenblatt per Makro benennen: Grüsse zusammen, ich habe beim suchen folgendes gefunden: Tabellenblatt automatisch benennen nach Zelleninhalt Ich würde das ganze gerne nutzen, weiss nur nicht wie ich es am besten anpasse. Ich...
  6. Funktionen im Datenblatt

    in Microsoft Excel Hilfe
    Funktionen im Datenblatt: Guten Morgen zusammen, bei der Erstellung eines (neuen) Dienstplanes bin ich auf einige Frage gestossen und hoffe das mir vllt der ein oder andere weiterhelfen kann :) Unsere Version: Office 2013...
  7. Datenblatt nach Word

    in Microsoft Access Hilfe
    Datenblatt nach Word: Hallo Zusammen, ich habe ein Unterformular (Positionen) in der Datenblattansicht mit Spalten für eine klassische Rechnung, also Pos, Leistung, Menge, Einzelpreis, Netto. Nun möchte ich diese...
  8. Tabellenblätter für Eingaben sperren ab bestimmtem Datum UND Uhrzeit

    in Microsoft Excel Hilfe
    Tabellenblätter für Eingaben sperren ab bestimmtem Datum UND Uhrzeit: Huhu, ich habe in einer Excel Tabelle mehrere Reiter (z.Bsp. 01.12.2020-31.12.2020). Nun möchte ich, dass z. Bsp. das Sheet vom 01.12.2020 nr bis zum 02.12.2020 6 Uhr morgens bearbeitbar ist....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden