Clever-Excel-Forum

Normale Version: Makro mit Abfrage/Auswahl inkl. Import
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Leute,

ich hab ein schwerwiegendes Problem.

Ich benötige ein Makro welche im Grunde durch mehrere Abfragen an den User, die gewünschte Datei, aus einem festen Ablageort ins 2. Tabellenblatt
einliest/importiert, welches widerrum je nachdem ob der User es möchte oder nich, die ensprechenden Zeilen anzeigt.

Schaut mal bitte, das Makro soll in der 1. Abfrage den User fragen welche der 2 Dateien geöffnet werden soll. Diese soll entsprechend der Auswahl wieder eine 2. Abfrage
starten welche wieder 2 Auswahlmöglichkeiten dem User anbietet. Nach dieser Auswahl soll der User gefragt werden mit "ja/nein" ob dieser nur die entsprechenden Zeilen 
importiert haben möchte. Die Spalten kann ich genau nicht nennen aber zur Orientierung sind so etwa 115 Spalten.


Die Dateien die eingelesen werden soll ist nach dem Schema benannt das jeweils die Bezeichnung zur 1. / 2. Abfrage mit Unterstrichen getrennt ist. und so vllt. die Abfrage erleichtert.
Die Bezeichnung sollte am besten nicht geändert werden.
Kleines Problem vllt. die Datei muss von Zeile in Spalte transformiert eingelesen werden im 2. Tabellenblatt. Ob man durch die Makro die Funktion "Text in Spalten" ansprechen kann. 
(getrennt,Tabstopp, kommas). 

ich hoffe ihr könnt mir da was basteln..muss nicht schön sein... nur funktionieren.

VG
Nick
Hallo,

was du da mit basteln umschreibst, hört sich nach einer Auftragsprogrammierung an. Dazu fehlt schon mal eine genauere Beschreibung dessen, was du haben willst. Dann musst du noch jemand finden, der das für lau macht.
Hallo Nick,

ich kann nur für mich sprechen... aber ich verstehe nicht was du erreichen willst.

Tipp:
Erzeuge bitte eine Demodatei in welcher erkennbar dargestellt wird, was erreicht werden sollte und füge selbige hier im Thread  hinzu.
Hallo Nick,

das macht man nicht so umständlich mit mehreren zu startenden Makros, sondern man öffnet in der Datei, die den Import aufnehmen soll eine UserForm und packt dort drauf alle die Auswahlkristerien mit den möglichen Antwortmöglichkeiten. Die kann man dann jeweils annehmen oder ändern und hat alle Parameter zusammen, was zu tun ist und in die Tabelle kopiert werden soll.
Übrigens kann Excel mit Bordmitteln eine Tabelle transferieren - von senkrecht auf waagerecht oder umgekehrt!

(19.10.2020, 16:28)Glausius schrieb: [ -> ]Hallo Nick,

das macht man nicht so umständlich mit mehreren zu startenden Makros, sondern man öffnet in der Datei, die den Import aufnehmen soll eine UserForm und packt dort drauf alle die Auswahlkristerien mit den möglichen Antwortmöglichkeiten. Die kann man dann jeweils annehmen oder ändern und hat alle Parameter zusammen, was zu tun ist und in die Tabelle kopiert werden soll.
Übrigens kann Excel mit Bordmitteln eine Tabelle transferieren - von senkrecht auf waagerecht oder umgekehrt!
...kannst du mir zu deinem Vorschlag bitte mehr erzählen...

(19.10.2020, 15:41)chris-ka schrieb: [ -> ]Hallo Nick,

ich kann nur für mich sprechen... aber ich verstehe nicht was du erreichen willst.

Tipp:
Erzeuge bitte eine Demodatei in welcher erkennbar dargestellt wird, was erreicht werden sollte und füge selbige hier im Thread  hinzu.
alles klar... ich versuchs… wär mein Vorhaben auch über Pivot Tabellen möglich?

(19.10.2020, 15:39)Klaus-Dieter schrieb: [ -> ]Hallo,

was du da mit basteln umschreibst, hört sich nach einer Auftragsprogrammierung an. Dazu fehlt schon mal eine genauere Beschreibung dessen, was du haben willst. Dann musst du noch jemand finden, der das für lau macht.
ne dann würd ich gleich zu der IT in unserem Hause... die macht das für Lau... es geht hier um private Zwecke :)…
Hallöchen,

eine Fallunterscheidung zwischen zwei Möglichkeiten bekommst Du einfach über die MsgBox, im Prinzip:

Sub test()
If MsgBox("Erste Frage", vbYesNo) = vbYes Then
MsgBox "ja"
Else
MsgBox "nein"
End If
End Sub
Hallo Nick,

eine Möglichkeite wäre z.B. so (Siehe Bild).
Man kann aber auch die Auswahl mit Kontrollkästchen, Optionsfelder oder Drehfeldern machen - es gibt da einige Möglichkeiten!
(21.10.2020, 14:18)schauan schrieb: [ -> ]Hallöchen,

eine Fallunterscheidung zwischen zwei Möglichkeiten bekommst Du einfach über die MsgBox, im Prinzip:

Sub test()
If MsgBox("Erste Frage", vbYesNo) = vbYes Then
MsgBox "ja"
Else
MsgBox "nein"
End If
End Sub
danke... dann wär das mit der abfrage geklärt... wie krieg ich nun hin das er mir dazu die datei einliest bzw. der getätigten auswahl entsprechend die Datei öffnet.
Zudem wird die Datei jeden Tag aktualisiert. also müsste da der ordner in dem die datei ist, jedes mal durch das makro übereprüft werden. oder man regelt das per datumsangabe und könnte so als auswahl die gewünschte dateiversion anwählen .... kannst du mir was zeigen bzw. so ein Makro erstellen

(21.10.2020, 15:18)Glausius schrieb: [ -> ]Hallo Nick,

eine Möglichkeite wäre z.B. so (Siehe Bild).
Man kann aber auch die Auswahl mit Kontrollkästchen, Optionsfelder oder Drehfeldern machen - es gibt da einige Möglichkeiten!
genau in diese richtung soll es gehen.... hast meine gedanken in einem bild zsm gefasst danke... jz müsste nur noch die ein oder andere anpassung bzw. das mit datei einlesen und co. rein ins makro.
Hallo Nick,

so wird das leider nix! Wir stochern hier doch nur in deinem Nebel ohne konkreten Anhaltspunkt.
Stelle eine Musterarbeitmappe zusammen, die deine Wünsche verdeutlicht mit annonymen Daten und wie das Ergebnis aussehen soll. Dann können wir an dem konkreten Beispiel dir die entsprechenden Hinweise geben.
Offen ist z.B. wieviele verschiedene Parameter führen zu dem gewünschten Ergebnis? Gibt es mehrere Auswahlmöglichkeiten zu einem Parameter? usw.

Hinweis: Zitiere nicht jedes Mal den Beitrag auf den du antwortest.
Hallöchen,

für den Dateinamen nimmst Du eine Variable, die Du nach jeder Abfrage statt meiner MsgBoxen ergänzt. Hier mal wieder ein Beispiel. Ich habe die If's mal auf Einzeiler eingekürzt. Die Syntax unterscheidet sich bei den 3 Fragen etwas hinsichtlich der Übernahme der Textteile. Am Anfang / Erste Frage brauchst Du das sFile nach dem "=" nicht, am Ende / Letzte Frage den Unterstrich nicht.

Code:
Sub test()
Dim strFile as String

If MsgBox("Erste Frage", vbYesNo) = vbYes Then sFile = "Vielleicht das" & "_" Else sFile = "Vielleicht jenes" "_"
If MsgBox("Zweite Frage", vbYesNo) = vbYes Then sFile = SFile & "Vielleicht nichts" & "_" Else sFile = SFile & "Vielleicht alles" "_"
If MsgBox("Letzte Frage", vbYesNo) = vbYes Then sFile = SFile & "Vielleicht nochwas" Else sFile = SFile & "Vielleicht was anderes"

MsgBox sFile
End Sub