Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
980to984
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
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Einlesen von Daten aus anderer Excel-Datei
04.06.2008 12:01:52
Daten
Hallo,
ich habe ein Tippspiel zur EM entworfen und sende eine Excel-Datei (1 Arbeitsblatt) als Tippschein zum Ausfüllen an Mitspieler zu.
In einer weiteren Datei habe ich eine Auswertungstabelle. In diese möchte ich automatisch die Daten aus den einzelnen Tippschein-Dateien einlesen.
Dazu habe ich den leeren Tippschein bereits mit der Auswertungsdatei verknüpft und die Tippscheindatei findet sich auch unter Bearbeiten-Verknüpfungen. Ich wollte diese Arbeit nun nicht für jede einzelne Tippschein-Datei neu machen, sondern hatte gehofft, dass ich von dieser Stelle an einfacher die entsprechenden Felder aus den Tippscheindateien (die immer EM_Tipp_Name1.xls, EM_Tipp_Name2.xls usw. heißen) auslesen kann.
Zur WM hatte ich einen Weg gefunden, allein ich weiss nicht mehr, wie es damals ging. Kann jemand helfen?
Vielen Dank im Voraus.
Andreas
Beiträge der letzten Zeit anzeigen:

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einlesen von Daten aus anderer Excel-Datei
04.06.2008 13:03:00
Daten
Hallo Andreas,
der einfachste Weg dürfte die Verknüpfung per Formel sein:

EM-Tippspiel 2008					Tipps der Mitspieler
Auswertung			Ergebnis		Hans		Franz
Spiel	Heim	    Gast      	H	G	H	G	H	G
1	Deutschland  Polen 	    		2	1	1	1
2	Kroatien	    Östereich			3	2	2	0
Formeln:
F4='C:\Lokale Daten\Test\[EM_Tipp_Hans.xls]Tipp'!$D4
G4='C:\Lokale Daten\Test\[EM_Tipp_Hans.xls]Tipp'!$E4
H4='C:\Lokale Daten\Test\[EM_Tipp_Franz.xls]Tipp'!$D4
I4='C:\Lokale Daten\Test\[EM_Tipp_Franz.xls]Tipp'!$E4
F5='C:\Lokale Daten\Test\[EM_Tipp_Hans.xls]Tipp'!$D5
G5='C:\Lokale Daten\Test\[EM_Tipp_Hans.xls]Tipp'!$E5
H5='C:\Lokale Daten\Test\[EM_Tipp_Franz.xls]Tipp'!$D5
I5='C:\Lokale Daten\Test\[EM_Tipp_Franz.xls]Tipp'!$E5


In meinem Beispiel werden auf dem Tipp-Blatt die Tore für Heim und Gast jeweils in Spalte D bzw. E eingetragen.
Für jeden Tipper kopierst du rechts 2 weitere Spalten und änderst in der Formel den Dateinamen.
Die Formeln kannst du dann für ale Speielpaarungen nach unten kopieren.
Gruß
Franz

Anzeige
AW: Einlesen von Daten aus anderer Excel-Datei
04.06.2008 13:04:00
Daten
Hallo
wie möchtest du die Daten aus den anderen Dateien denn darstellen?
- Jede Datei auf einem eigenen Tabellenblatt
- oder in bestimmten Spalten nebeneinander
- oder einzeilig untereinander?
Evtl. hast du ja eine Mustermappe mit einigen bereits "importierten Dateien", die du hochladen kannst.
Gruß
UweD

AW: Einlesen von Daten aus anderer Excel-Datei
04.06.2008 13:18:00
Daten
ich werde heute Abend mal die beiden betreffenden Dateien hochladen.

AW: Einlesen von Daten aus anderer Excel-Datei
04.06.2008 21:37:23
Daten
Hallo,
ich habe nun einmal den Tippschein hochgeladen:
https://www.herber.de/bbs/user/52822.xls
Die Auswertungsdatei konnte ich nur als jpg hochladen, da die Excel-Datei größer als 300kB war. Hier ist ein Bild:
Userbild
Die gelben Felder aus dem Tippschein sollen in die lila Felder der Auswertungsdatei eingelesen werden.
Das habe ich für zwei Tippscheine bereits gemacht mit der Formel (im Feld F3):
"='C:\Pfad\EM-Tippspiel 2008\Tippscheine\[Tippschein.xls]Tippschein'!$H$9" usw. für alle weiteren Felder.
Ich habe nun sehr viele Tippscheine (Tippschein1.xls, Tippschein2.xls usw) und hoffe, dass es eine einfache Lösung gibt, diese einfach in die Auswertungsdatei einlesen zu lassen.
Kann jemand helfen? Danke schon einmal im Voraus,
Andreas

Anzeige
AW: Einlesen von Daten aus anderer Excel-Datei
05.06.2008 12:04:07
Daten
Hallo Andreas,
das folgende Makro, sucht so lange in Spalte 4 nach leere Zellen bis in Spalte 2 eine leere Zelle ist. Ist Spalte 4 leer, wird der Dateiname abgefragt bzw. ist zu bestätigen. Danach werden die Formeln kopiert und der Dateiname erstzt. in Spalte E-mail wird Hyperlink gesetzt.
Vor dem Start des Makros muss du die Namen/Vornamen der Tipper eintragen, deren Tippdateien vorligen.
Eine formellose übernahme der Tippdaten wäre auch möglich, aber das ist doch eine ziemliche Fleissarbeit all die auszulesenden Zelladressen rauszu picken und dann in der richtigen Zeile/Spalte die Werte einzufügen.
Gruß
Franz

Sub Tipps_Verknuepfen()
'Kopiert die Formeln in die nächste Freie Zeile und fragt Dateiname ab
Dim lngZeile As Long, strNameDatei As String, lngZeileKopie As Long
Dim objWks As Worksheet
Const lngLetzeSpalte As Long = 85 'Nummer der letzten Spalte die mit kopiert werden soll
Set objWks = ActiveSheet
With objWks
'leere Zeile in Spalte 4 ab Zeile 4 suchen
For lngZeile = 4 To .Cells(.Rows.Count, 2).End(xlUp).Row
'Leere Zellen in Spalte 4
If IsEmpty(.Cells(lngZeile, 4)) Then
'Neuen Dateinamen aus Name errechnen
.Cells(lngZeile, 2).Select
strNameDatei = "EM_Tipp_" & .Cells(lngZeile, 2).Value & ".xls"
strNameDatei = InputBox(Prompt:="Bitte ggf. Dateiname für " & vbLf & vbLf _
& .Cells(lngZeile, 2).Value & " " & .Cells(lngZeile, 3).Value & vbLf & vbLf _
& " korrigieren und Eingabe mit OK bestätigen" & vbLf _
& "Bei Abbrechen wird die Zeile übersprungen!", _
Title:="EM 2008 Tippspiel - Tipps einlesen", Default:=strNameDatei)
If strNameDatei = "" Then
Else
lngZeileKopie = .Cells(.Rows.Count, 4).End(xlUp).Row
.Range(.Cells(lngZeileKopie, 4), .Cells(lngZeileKopie, lngLetzeSpalte)).Copy _
Destination:=.Cells(lngZeile, 4)
'Dateiname in Formeln ersetzen
.Range(.Cells(lngZeile, 4), .Cells(lngZeile, lngLetzeSpalte)).Replace _
What:="[*]", Replacement:="[" & strNameDatei & "]", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'E-Mail-Hyperlink einfügen
If .Cells(lngZeile, 5).Value  "" Then
.Hyperlinks.Add Anchor:=.Cells(lngZeile, 5), Address:= _
"mailto:" & .Cells(lngZeile, 5).Value & "?subject=EM%202008%20-%20Tippspiel"
End If
End If
End If
Next
End With
End Sub


Anzeige
AW: Einlesen von Daten aus anderer Excel-Datei
05.06.2008 14:06:10
Daten
Hallo Franz,
es scheint hervorragend zu klappen - vielen herzlichen Dank. Ich musste die Nummer der letzten Spalte die mit kopiert werden soll von 85 auf 107 ändern (Tabelle geht bei mir bis Spalte DC).
Eine Sache habe ich noch. Ich habe alle Tippscheine als "EM-Tipp_Name_Vorname.xls" oder anders als "EM-Tipp_SpalteB_SpalteC.xls" abgespeichert. Das Makro fragt aber immer den Dateinamen als "EM-Tipp_SpalteB.xls" ab, d.h. ich muss bei jedem Dateinamen noch den Vornamen des Spielers ergänzen.
Wo und wie müßte das Makro geändert werden, dass es den Dateinamen gleich als "EM-Tipp_SpalteB_SpalteC.xls" abfragt.
Auch wenn nun keine Antwort mehr kommt, bin ich schon sehr dankbar und glücklich. Sie haben mir wirklich einige Stunden an Arbeit gespart. Herzlichen Dank noch einmal.
Andreas Landgraf

Anzeige
AW: Einlesen von Daten aus anderer Excel-Datei
05.06.2008 14:55:00
Daten
Hallo Andreas,
die Zeile in der Dateiname zusammengebaut war ja eigentlich nicht so schwer zu finden.

strNameDatei = "EM_Tipp_" & .Cells(lngZeile, 2).Value & ".xls"
ändern in
strNameDatei = "EM_Tipp_" & .Cells(lngZeile, 2).Value & "_" _
& .Cells(lngZeile, 3).Value & ".xls"

Gruß
Franz

AW: Einlesen von Daten aus anderer Excel-Datei
05.06.2008 16:28:01
Daten
Hallo Franz,
ich habe die Zeile schon identifiziert, allerdings sagen mir die Befehle "... & .Cells(lngZeile, 2).Value & "_" _& .Cells(lngZeile, 3).Value & " ..." mit den ganzen &-Zeichen und Punkten rein gar nichts, deshalb habe ich lieber nachgefragt.
Kann man irgendwo nachlesen, wie Makros aufgebaut sind (z.b. was LngZeile bedeutet und warum am Ende so viele End If sind?) Ich würde schon gerne verstehen, warum die Befehle exakt so gemacht werden müssen.
Aber zunächst einmal vielen lieben Dank. Die EM kann nun losgehen.
Andreas

Anzeige
AW: Einlesen von Daten aus anderer Excel-Datei
05.06.2008 17:26:00
Daten
Hallo Andreas,
VBA ist nun mal eine Programmiersprache und diese haben ihren festen Satz an Methoden und Funktionen und jede dieser Methoden und Funktionen hat ihre Sysntax.
ich habe die Zeile schon identifiziert, allerdings sagen mir die Befehle "... & .Cells(lngZeile, 2).Value & "_" _& .Cells(lngZeile, 3).Value & " ..." mit den ganzen &-Zeichen und Punkten rein gar nichts, deshalb habe ich lieber nachgefragt.
& = in VBA das Funktionszeichen für das zusammenfügen von Text-Teilen
_ = am Ende einer Code-Zeile ist der Hinweis für den Compiler, der den Text in ausführbaren Code umsetzt, dass die nächste Zeile noch mit zur Anweisung gehöhrt.
. = vor einem Objekt (Zelle, Worksheet, Shape, Format etc) muss immer in Verbindung mit der in einer Zeile vorher stehenden With Objekt-Zeile gelesen werden. Fehlt der Punkt, dann bezieht sich die Anweisung immer auf das Aktive Objekt. Im Fall von Cells oder Range ist dies das aktive Tabellenblatt.
.Cells(lngZeile,2).Value = Nimm aus dem oben hinter With genannten Tabellenblatt aus der Zelle in der Zeile mit der Nr die im Moment in der Variablen lngZeile und der Spalte 2 den Inhalt und ...
Kann man irgendwo nachlesen, wie Makros aufgebaut sind
A: Bücher Amazon.de, Fachbuchhandlung, Computerladen
B: Übungs./Lernmaterial hier bei Herbers
C: Übungs-Seite by www.microsoft.de, obwohl ich denen gestern in der Bewertung nur 1 Stern geben konnte wegen Programmierfehler in einem Übungsbeispiel.
(z.b. was LngZeile bedeutet und warum am Ende so viele End If sind?)
lngZeile ist bei mir eine Varible, der Name fängt bei mir mit "lng" an, weil die Variable vom Zahlentyp Long ist und "Zeile" ist dann ein aussagekräftiger Namenszusatz, der einen Hinweis auf den Inhalt der Variablen gibt, hier eine Zeilen-Nummer.
Viele "End If" sind am Ende Konzentriert, wenn vorher im Code viele If-Prüfungen gemacht wurden.
Die Syntax ist
If irgenwas-Prüfung=Wahr Then
'Code by Bedingung Wahr (True)
Else (optional)
'Code by Bedingung Falsch (False)
End If
Ich würde schon gerne verstehen, warum die Befehle exakt so gemacht werden müssen.Über das Warum brauchst du dir als Anwender meist keine Sorgen machen, das haben Programmierer bei Microsoft oder anderswo mit einer mehr oder weniger gekonnter Syntax und Logik/Unlogik schon erledigt.
Für dich muss es darum gehen die Logik nachzuvollziehen - verstehen ist natürlich auch nicht verkehrt, um möglichst schnell und elegant bei der Lösung deiner eigenen VBA-programmierungen voranzukommen.
Aber zunächst einmal vielen lieben Dank. Die EM kann nun losgehen.
Ja ich bin auch bereit und drücke unseren Kickern die Daumen. Früher hab ich ja auch noch umfangreiche Tippspiele mit Excel ausgewertet (BL-Saison mit bis zu 100 Teilnehmern. Aber seit der WM 2006 ist das vorbei. Seitdem nutze Angebote im Web.
Gruß
Franz
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige