Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1164to1168
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nach Bedingung Anzeige ganzer Zeile aus and.Kartei

Nach Bedingung Anzeige ganzer Zeile aus and.Kartei
Joerschi
Hallo liebes Excel-Forum,
ich stehe vor einem (für mich) verzwickten Problem, für welches ich keinen Ansatz - geschweige denn eine Lösung finde :-((.
Es gibt (angenommen) zwei Karteien in einer Excel-Tabelle.
Kartei 1 enthält gaaanz viele Datensätze.
In Kartei 2 möchte ich nun Bedingungen für gewisse Spalten der Datensätze aus Kartei 1 setzen. Wenn diese Bedingungen erfüllt sind, dann soll Excel untereinander die betreffenden Zeilen mit allen Daten aus Kartei 1 anzeigen.
Falls es eine Möglichkeit gibt, dass man sogar wählen kann welche konkreten Spalten aus Kartei 1 angezeigt werden - also nicht die komplette Zeile je Datensatz - wäre das natürlich noch besser.
Zum leichteren Verständnis habe ich eine kleine Muster-Excel-Tabelle mit Datensätzen entworfen.

Die Datei https://www.herber.de/bbs/user/70664.xls wurde aus Datenschutzgründen gelöscht


Ich würde mich sehr freuen, wenn mir jemand helfen könnte.
Herzliche Grüße und besten Dank im Voraus
Joerschi
PS: Ich weiß, dass man dies normalerweise in Datentabelle selbst mit Autofilter & Co ganz leicht hinbekommt. Allerdings benötige ich die per Bedingung ausgegliederten Datensätze in einer anderen Tabelle, welche dann separat ausgewertet wird.
AW: Nach Bedingung Anzeige ganzer Zeile aus and.Kartei
20.07.2010 21:20:44
Ramses
Hallo
Schau dir mal den Spezialfilter an
Infos dazu gibt es hier: http://www.online-excel.de/excel/singsel.php?f=8
Schau dir mal alle 4 Folgen an
Gruss Rainer
AW: Nach Bedingung Anzeige ganzer Zeile aus and.Kartei
20.07.2010 23:30:20
Joerschi
Hallo Rainer,
besten Dank für Deine Hilfe.
Ich habe mich schon mal ein wenig reingearbeitet, aber bin mir nicht so richtig sicher, ob das am Ende genau das ist was ich suche.
Die Kriterien sollten separat und einfach bestimmbar sein und bei einer Änderung theoretisch sich sofort die neuen Zeilen (die den Bedingungen entsprechen) aufbauen, wobei die alten halt verschwinden. Ich weiß, das ist die Luxusvariante, aber das verlinkte Tutorial geht auf diese Problemchen nicht ganz ein (auch wenn es vom Verständnis her wirklich weitergeholfen hat).
Ob sowas über eine Makrolösung geht?
Beste Grüße und vielen Dank
Joerschi
Anzeige
AW: Nach Bedingung Anzeige ganzer Zeile aus and.Kartei
20.07.2010 22:00:06
Josef

Hallo joerschi,
ein Beispiel, allerdings ohne wirkliche Fehlerbehandlung.
https://www.herber.de/bbs/user/70665.xls

Gruß Sepp

AW: Nach Bedingung Anzeige ganzer Zeile aus and.Kartei
20.07.2010 22:57:25
Joerschi
Hallo Sepp,
vielen Dank für das kleine Tool. Ist zwar keine direkte "Hilfe zur Selbsthilfe", aber schon sehr sehr hilfreich :-).
Aber noch eine Bitte: kann man das Tool auch so einstellen, dass bei einem erneuten "Go" der Foldername immer gleich bleibt?
(also das die vorherige Abfrage überlöscht wird)
Grund dafür ist, dass zu diese Daten in der Tabelle mit Formeln etc. verbunden werden - das geht natürlich nicht, wenn ständig ein neuer Karteiname auftaucht :-(
Herzlichen Dank auf jeden Fall für Deine Hilfe
Joerschi
Anzeige
Ausgabe auf festem Tabellenblatt
21.07.2010 07:44:17
Erich
Hi Joerschi,
'Foldername' ist der Name eines Folders, Verzeichnisses, Ordners, meist auf einer Festplatte.
'Karteiname' ist auch nicht so ganz richtig. Was für eine Kartei?
Du meinst wohl den Namen des Tabellenblatts (oder Blatts), in dem das Filterergebnis ausgegeben wird.
(Die Blattnamen in einer Mappe werden normalerweise unten im 'Blattregister' angezeigt. Das meinst du wohl mit Karteinamen.)
Hier habe ich das Ausgabe-Tabellenblatt mal 'Erg' genannt.
Diese Zeilen musst du knapp vor dem Ende von Sepps Code einfügen:

'    ThisWorkbook.Worksheets.Add After:=Sheets("Filter")
'    Sheets(Sheets("Filter").Index + 1).Name = "Filter_" & Format(Now, "yyyyMMdd-hhmmss")
Sheets("Erg").UsedRange.ClearContents
.SpecialCells(xlCellTypeVisible).Copy Sheets("Erg").Cells(1, 1)
Sheets("Erg").Columns.AutoFit
.Columns.Hidden = False
.AutoFilter
End With
End With
Die beiden auskommentierten Zeilen sind die beiden Zeilen aus Sepps Code, die wegfallen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Ausgabe auf festem Tabellenblatt
21.07.2010 08:55:24
Joerschi
Hallo Erich,
vielen Dank für das Feedback.
Und Du hast natürlich Recht - ich meinte den gleichbleibenden Namen eines Tabellenblattes.
Obwohl ich den Code nicht verstehe (werde ich mich mal bei Gelegenheit reinarbeiten müssen - ist das VBA?), kannst Du mir bitte noch genau sagen, wo ich den Code einfügen muss....?
Vielen Dank für die Hilfe
Joerschi
VBA-Ausgabe auf festem Tabellenblatt
21.07.2010 09:35:16
Erich
Hi Joerschi,
ja, das ist VBA.
Hier sind die letzten Zeilen von Sepps Makro filter() im Modul Filter:

For lngIndex = 0 To UBound(vntCol)
.Columns(vntCol(lngIndex)).Hidden = False
Next
End If
ThisWorkbook.Worksheets.Add After:=Sheets("Filter")
Sheets(Sheets("Filter").Index + 1).Name = "Filter_" & Format(Now, "yyyyMMdd-hhmmss")
.SpecialCells(xlCellTypeVisible).Copy Sheets(Sheets("Filter").Index + 1).Range("A1")
Sheets(Sheets("Filter").Index + 1).Columns.AutoFit
.Columns.Hidden = False
.AutoFilter
End With
End With
On Error GoTo 0
End Sub
Diese letzten Zeilen musst du ersetzen durch
    For lngIndex = 0 To UBound(vntCol)
.Columns(vntCol(lngIndex)).Hidden = False
Next
End If
Sheets("Erg").UsedRange.ClearContents
.SpecialCells(xlCellTypeVisible).Copy Sheets("Erg").Cells(1, 1)
Sheets("Erg").Columns.AutoFit
.Columns.Hidden = False
.AutoFilter
End With
End With
On Error GoTo 0
End Sub
(Die ersten vier und die letzten sechs Zeilen sind gleich geblieben und stehen hier nur,
damit du das leichter wiederfindest.)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: VBA-Ausgabe auf festem Tabellenblatt
21.07.2010 09:53:14
Joerschi
Hallo Erich,
vielen Dank.
Den Code habe ich schnell gefunden (unter Makro - Bearbeiten - Makro, dort den zweiten Filter) und den betreffenden Part durch Deine Änderung korrigiert. Kann man eigentlich nicht viel falsch machen.
Aber Asche über mein Haupt - speichere ich das ab und klicke auf "Go", so wird kein neues Tabellenblatt erstellt... :-(.
Excel rechnet zwar, aber das alte Ausgabe-Tabellenblatt bleibt bestehen (löscht man es, wird trotzdem kein Neues generiert). Ist eventuell noch ein Bug im Code? Oder (ich hoffe, ich trete Dir damit nicht zunahe) - kannst Du den Code selbst vllt. an die richtige Stelle einfügen, so siehst Du auch gleich ob es funktioniert.
Herzliche Grüße
Joerschi
Anzeige
Tabellenblatt selbst anlegen
21.07.2010 10:04:43
Erich
Hi Joerschi,
jetzt wird kein neues Blatt angelegt - so sollte es ja sein.
Dann muss natürlich ein Blatt mit Namen Erg existieren, auf dem das Ergebnis immer wieder ausgegeben werden kann.
Leg einfach ein neues Blatt mit Namen Erg an.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Tabellenblatt selbst anlegen
21.07.2010 10:53:34
Joerschi
Hi Erich,
das war es. Daran hatte ich nicht gedacht.
Muss ich jetzt noch was beachten, wenn ich die beiden Tabellenblätter ("Filter", "Erg") in ein anderes Excel-Sheet verschiebe?
Habe ich nämlich grad getan, das Tabellenblatt "Filter" in "xyz" umbenannt und wollte dort auf die vollständige Liste aus allen Datensätzen filtern. Leider kommt eine Fehlermeldung im Tabellenblatt "xyz" (bei Klick "Go"-Button): "Benutzerdefinierter Typ nicht definiert".
Was hat das zu bedeuten?
? *verwirrtamKoppkratz*
Herzliche Grüße
joerschi
Anzeige
so einfach gehts nicht
21.07.2010 11:38:16
Erich
Hi Joerschi,
da gibt es Einiges zu beachten, vielleicht zu viel für "VBA nein".
Mit "wenn ich die beiden Tabellenblätter ("Filter", "Erg") in ein anderes Excel-Sheet verschiebe"
meinst du wohl das Verschieben in eine andere Excelmappe (Datei). Ein "Sheet" ist nur ein Blatt.
Du kannst nicht einfach ein paar Teile aus einer funktionierenden Mappe nehmen und woanders hintun.
Vielleicht müssen Module (Makros) mitgenommen werden.
Vielleicht kommen Namen von Tabellenblättern in den Makros vor. Wenn du solche Blätter umbenennst,
können die Makros sie nicht mehr finden.
Ich bin jetzt wegen der Fehlermeldung nicht tiefer eingestiegen, habe jetzt auch keine Zeit dazu.
Ich stelle mal auf 'offen'.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: so einfach gehts nicht
21.07.2010 11:46:51
Joerschi
Richtig. Ich meinte das Verschieben in eine andere Datei.
Aber genau das war ja geplant, da meine hochgeladene Beispieldatei selbstverständlich nur ein kleines Muster darstellte. Die Funktion sollte ja danach in die "Originaldatei" eingebunden werden und dort auch klappen.
Wenn mir jemand sagen könnte, was ich zu ändern habe oder welche Daten/Namen (z. B. der einzelnen Tabellenblätter) aus der Orignaldatei wichtig sind und angepasst werden müssen, würde ich das natürlich selbst tun.
Falls das mit dem Verschieben in eine andere Datei nicht funktioniert, wirft uns das ja wieder zur Ausgangsfrage zurück. Grob: Wie kann man gefilterte Daten (Filter = Bedingungen für gewisse Spalten) eines Tabellenblattes in ein einem anderen anzeigen lassen? Entweder mit allen Spalten der originalen Datentabelle oder mit ausgesuchten Spalten, die angezeigt werden sollen.
Herzliche Grüße
Joerschi
Anzeige
Nun Fehler Benutzerdefinierter Typ nicht definiert
26.07.2010 09:30:50
Joerschi
Hallo liebes Forum,
hatte die letzten Tage hier im Forum einen VBA-Code bekommen, den ich in eine meiner Excel-Tabellenblätter kopiert hatte - welcher aber leider nicht funktioniert (siehe vorherigen Thread "Nach Bedingung Anzeige ganzer Zeile aus and.Kartei").
Die betreffenden Excel-Tabellenblätter habe ich zwischenzeitlich gelöscht, da noch keine Lösung des Problems. Dummerweise kommt jetzt bei fast jeder Formelaktion (wenn ich die Datei bearbeite) der Fehlercode "Benutzerdefinierter Typ nicht definiert". Uaaarrgghhh, das nervt richtig.
Kann mir jemand bitte einen Tip geben, wie man diese Fehlermeldung wieder los wird?
Herzlichen Dank im Voraus
Joerschi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige