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.

Makro: Daten aus anderem Tabellenblatt importieren
#1
Hallo liebe Community,

ich habe ein Problem, welches ich selbst nicht lösen kann. Ich hoffe, dass mir jemand auf die Sprünge helfen kann.

Grundproblem:
Über ein Tool erstelle ich Umfragen und erhalte zu einer Frage verschiedene Antworten. Die Antworten kann ich als xlsx exportieren. Leider ist die Formatierung dieser xlsx unglücklich, um damit direkt arbeiten zu können (Anhang Import.xlsx).
Um die Antworten einer Frage übersichtlich zu sammeln, möchte ich daher eine Art Datenbank (Excel-Tabelle) erstellen, in der die Antworten übersichtlich untereinander aufgelistet werden und ich in weiteren Spalten Kommentare oder Bewertungen abgeben kann (Anhang Datenbank.xlsm).
Den Importvorgang möchte ich gerne über ein Makro automatisieren.

Funktion des Makros:
Im Endeffekt soll das Makro gar nicht so viel machen:
  1. auf die letzte Zeile des Tabellenblatts springen
  2. Meldung aufzeigen:"Bitte die Daten kopieren, die importiert werden sollen"
  3. Dann soll der Bediener manuell die Import.xlsx öffnen und die entsprechenden Antworten in den Zwischenspeicher kopieren [z.B. Zeile 109-111 der Import.xlsx] (leider funktioniert dies nicht, da ich scheinbar während eines Makros nicht die Tabelle wechseln kann?)
  4. Anschließend sollen die Antworten ans Ende des Tabellenblatts eingefügt werden.
Ich hoffe ich konnte mich verständlich ausdrücken.
Hat jemand eine Idee, wie ich das Makro zum Laufen bekommen könnte? Oder bin ich auf dem Holzweg und eine Lösung würde ganz anders aussehen?

Vielen Dank vorab!


Angehängte Dateien
.xlsx   Import.xlsx (Größe: 10,66 KB / Downloads: 6)
.xlsm   Datenbank.xlsm (Größe: 22,02 KB / Downloads: 4)
Antworten Top
#2
Hallo,

m.M.n. sind die Beispiele wenig geeignet als Vorlage für eine VBA-Programmierung.

Marktforscher sind eigentlich findige Leute mit guten Software-Kenntnissen.

Vorschlag:

- erkläre die Hindergründe, wie Du zu diesem Survey kommst
- lade eine kleinen anonymisierten Teil der Originaldaten hoch

Wenn das einigermaßen passt, helfe ich dir.

mfg
Antworten Top
#3
Hallo Fennek,

danke für deine Antwort.
Es soll sich nicht direkt um eine Marktforschung handeln, sondern um eine Trainingsumfrage. D.h. die Teilnehmen sollen beantworten, ob genügen Trainings angeboten werden bzw. wo sie noch weiteren Bedarf sehen (freie Meinungsäußerung ohne vordefinierte Felder).
Im Anhang habe ich nun ein detaillierteres Beispiel hochgeladen.
Das heißt: In der Umfrage unter den Teilnehmer wurden folgende Antworten abgegeben (Import.xlsx Zeile 109-114)

Kommunikationstraining
Verhandlungsführung
Personalführung
Selbstorganisation
Konfliktmanagement
Compliance-Refresher


Da die Abfrage regelmäßig durchgeführt wird, kommen in weiteren Umfragen neue Antworten hinzu. Diese möchte ich per Makro in die "Datenbank" übertragen (Datenbank.xlsm).
Zur Verdeutlichung habe ich die Informationen bereits manuell reinkopiert.

Wenn die Informationen in die Datenbank eingepflegt wurden, kann diese zentral gepflegt werden. So wird dann verwaltet, ob das Training in Planung ist oder nicht und wie das Training insgesamt bewertet wird (etc.).


Angehängte Dateien
.xlsm   Datenbank.xlsm (Größe: 22,22 KB / Downloads: 4)
.xlsx   Import.xlsx (Größe: 10,79 KB / Downloads: 5)
Antworten Top
#4
Es ist landdesüblich, bei nicht-gefallen einfach weiterzugehen.

Ich handhabe das anderst und begründe:

- es sollte ein einfach zu erkennender Zusammenhang zwischen beiden Dateien bestehen
- ein "Datenbank" enthält alle Fragen als Spalten und für jeden Teilnehmen eine Zeile

Vielleicht kann jemand anderes helfen.
Antworten Top
#5
Hallo Fennek,

ich verstehe nicht ganz..

Das Begründung , dass in diese Datenbank nicht alle Fragen aufgenommen werden, liegt darin:
Die Umfrage wird nicht von mir durchgeführt und die anderen Fragen sind für mich nicht relevant. Mich interessiert nur eine Frage, dessen Antworten in meine Datenbank aufgenommen werden soll.

Trotzdem danke fürs Anschauen!
Antworten Top
#6
Hallo,

ganz ohne VBA mit Tastensteuerung:

Strg und PfeilNachUnten
PfeilNachUnten
Strg und dh

in der geöffneten Datei bei markierten Antworten:

Strg und c
Strg und w oder Strg und F4

Strg und v
Strg und PfeilNachUnten
...

Gruß Uwe
Antworten Top
#7
Hallo Kuwer,

ja, das ist der manuelle Weg. Ich suche nach einer Lösung, um es etwas zu automatisieren, sodass man nur noch den zu kopierenden Teil markieren muss.
Nur anscheinend ist es so, dass man auf kein anderes Tabellenblatt zugreifen kann, solange das Makro läuft.
Antworten Top
#8
Hallo,

ich habe nun einen Weg mit folgendem Code gefunden:

Code:
Option Explicit

Sub import()
Dim msg As String
Sheets("Datenbank").Activate
msg = MsgBox("Hast du die Antworten kopiert?", vbYesNoCancel)
If msg = vbNo Or msg = vbCancel Then
Exit Sub
Else

'Einfügen
    Range("A2").Select
    Selection.End(xlDown).Select
    Selection.Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

End If

End Sub

Ich habe aber mit obiger Lösung nur diesen Weg gefunden: die zu kopierenden Daten müssen erst manuell kopiert werden bevor das Makro gestartet wird und die Daten dann in die Tabelle automatisch eingefügt.

Eleganter wäre es direkt das Makro zu starten. Dann sollte ein Hinweis kommen "Bitte die Daten markieren und kopieren" und wenn dies bestätigt wird, werden die Daten eingefügt.
Das Problem ist aber: wenn das Makro eine Nachricht anzeigt kann ich auf kein anderes Tabellenblatt navigieren... :/
Antworten Top
#9
Hallöchen,

für die Nachricht müsstest Du einen anderen Weg wählen. Du könntest
- entweder ein WSH - PopUp programmieren, welches nach Aufruf unabhängig von Excel angezeigt wird
- oder ein Userform für die Meldung verwenden und die ShowModal - Eigenschaft umstellen. Dadurch kannst DU bei eingeblendetem Userform in den Tabellen arbeiten
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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