Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Mehrere Tabellen auslesen und in eine weiter neu zusammen setzen
#1
Moin Moin,

Ich durchforste nun schon seit Wochen das Internet, um eine Lösung für mein Problem zu finden. Huh

Ich habe eine Beispiel Mappe angelegt mit mehreren Tabellen.
Die erste Tabelle Ist eine Gebäudeübersicht, die zweite hätte ich gerne als Such-, und Ausgabemaske, die nachfolgenden Tabellen möchte ich durchsuchen. (es werden ca. 25 Stück werden).
Eigentlich in jeder immer nur spalte E und zwar nach Namen. Soweit vielleicht noch machbar aber, bei der Ausgabe wir es schwierig.
Wenn der Name gefunden wurde, (z.B. in Tabelle 3 und 5) sollte im besten Fall von Tabelle 3 das Feld A1 und C1 als Überschrift oder Zeilenanfang ausgelesen werden und dahinter/drunter die komplette Zeile von A bis H.
Danach das selbe für Tabelle 5. Im Optimalfall werden keine anderen Gebäude aufgelistet.

Der langfristige Plan ist das sich bei jeder neuen Suchanfrage die liste Komplett erneuert oder Alternativ für jede anfrage eine neue Tabelle erzeugt wird.

Vielleicht ist hier jemand der mir helfen kann. 69

Schöne grüße aus der Nordsee

.xlsx   Formeltest.xlsx (Größe: 20,43 KB / Downloads: 9)
Antwortento top
#2
Hallo,

mit VBA sollte es möglich sein:

- wie gut sind deine VBA-Kenntnisse

- sind die zu durchsuchenden Dateien in einem Ordner, entweder ausschließlich, oder am Namen zu identifizieren

- etc

mfg
Antwortento top
#3
Hallo,

um es kurz auszudrücken:
-VBA Kenntnisse sind nicht vorhanden  Confused

-Durchsucht werden nur Tabellen der selben Mappe die alle gleich aufgebaut sind. 
Dort ist es immer die selbe Spalte in der der Name eingetragen ist.

mfg JJ
Antwortento top
#4
gut, vermutlich können die "Formel-Künstler" auch ohne VBA lösen.
Antwortento top
#5
Bis dahin werde ich mich mal etwas mit VBA beschäftigen.
und probieren ob ich auf diesem Wege eine besser Lösung finde.
Langfristig gesehen werde ich nicht drum herum kommen 32

Ich bin also auch für Lösungen mit VBA dankbar.

mfg JJ
Antwortento top
#6
Hallo

ich weise mal höflich darauf hin das mein alter XP Laptop das Beispiel nicht öffnen Konto. Unbekanntes Format! Habe Excel 2007

Das Thema per Formeln Daten auslesen gab es mehrfach im Forum. Einen Thread an den ich mich erinnere fand ich nicht im Forum Archiv, dazu eine kopierte Seite  aus meinem eigenen Archiv. Vielleicht hilft dir das weiter? Im Internet gibt es auch Beispiele zu diesem Thema, schau auch mal ins Herber Forum Archiv.

mfg Gast 123


Angehängte Dateien
.xlsx   Zellen externer Excel-Files filtern.xlsx (Größe: 15,59 KB / Downloads: 4)
Antwortento top
#7
Hallöchen,

hier mal ein erster Ansatz, der natürlich noch verfeinert werden muss. Ich hab da auch nur nach Mustermann gefiltert und die Daten (Werte) unter die vorhandenen geschrieben und nichts geleert.
Wenn z.B. Spalte A zentriert sein soll und in C das Datum kommt, kann man vorher formatieren.

Schau's Dir mal an, dann machen wir weiter Smile

Code:
Option Explicit

Sub Makro1()
'Variablendeklarationen
Dim blaetter As Worksheet
Dim lRow As Long
'Schleife ueber alle Blaetter
For Each blaetter In Worksheets()
  'mit dem Blatt
  With blaetter
    'Wenn der Blattname numerisch ist, dann
    If IsNumeric(.Name) Then
      'Autofilter in Zeile 2 setzen
      .Range("A2").AutoFilter
      'Filterkriterien festlegen
      .Range("$A$2:$H$71").AutoFilter Field:=5, Criteria1:= _
          "Fa. Mustermann"
      'gefilterte Liste kopieren - hier noch nicht beruecksichtigt, dass auch mal nix gefunden wird
      .Range("A3:H" & .Cells(.Rows.Count, 1).End(xlUp).Row).Copy
      'letzte gefuellte Zelle in Spalte D auf Uebersicht feststellen, Mindestzeile 3
      lRow = WorksheetFunction.Max(Sheets("?bersicht").Cells(Sheets("?bersicht").Rows.Count, 4).End(xlUp).Row, 3)
      'laufende Nummer in Spalte A ermitteln und eintragen
      Sheets("?bersicht").Range("A" & lRow + 1) = WorksheetFunction.Max(Sheets("?bersicht").Range("A2:A20000")) + 1
      'Daten fuer Spalte A und B uebertragen
      Sheets("?bersicht").Range("B" & lRow + 1) = .Range("C1")
      Sheets("?bersicht").Range("C" & lRow + 1) = .Range("A1")
      'gefilterte Zeilen uebertragen
      Sheets("?bersicht").Range("D" & lRow + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
          :=False, Transpose:=False
      'Copymodus zuruecksetzen
      Application.CutCopyMode = False
      'Autofilter zuruecksetzen
      .Range("A2").AutoFilter
    'Ende Wenn der Blattname numerisch ist, dann
    End If
  'Ende mit dem Blatt
  End With
'Ende Schleife ueber alle Blaetter
Next
End Sub
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#8
Hallo und Danke für die Hilfe schauan.

Ich bin leider erst jetzt dazu gekommen mich wieder mit der Tabelle zu beschäftigen.

Ich habe den Makro angelegt und ihn mit einem Schalter verknüpft.
Im ersten Augenblick sieht es so aus das er nur Tabelle 1 filtert.
Der Filter wird auch nur in der ursprünglichen Tabelle angewendet, wenn ich das Makro aber richtig lese soll es auch so sein.
Da aber ein Fehler in der Mitte des Makros angezeigt wird gehe ich davon aus das selbiges an der Stelle  abgebrochen wird,
und es deshalb nicht funktioniert.

Die Meldung lautet:
Laufzeitfehler
Index außerhalb des gültigen Bereichs.

lRow = WorksheetFunction.Max(Sheets("?bersicht").Cells(Sheets("?bersicht").Rows.Count, 4).End(xlUp).Row, 3)

Ich kann auch nirgends erkennen, wo er die kopierten Daten ablegen soll.  Huh 


Ich werde mich nochmal weiter damit auseinandersetzen, wäre aber schön noch etwas Unterstützung zu bekommen.
Danke. JJ


Angehängte Dateien
.xlsm   Formeltest.xlsm (Größe: 32,67 KB / Downloads: 1)
Antwortento top
#9
Hallo JJ,

ersetze im Makro1 alle ? durch Ü (geht schneller mit Strg+h).

Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
  • schauan
Antwortento top
#10
Hi Uwe,

danke schön. Ist aber auch ein Kreuz mit dem Kopieren von den Umlauten im Code Sad
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste