Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
840to844
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
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Verknüpfung zu einer anderen Arbeitsmappe

Verknüpfung zu einer anderen Arbeitsmappe
06.02.2007 14:07:17
Toastie
Hallo zusammen
Ich brauche wieder dringend eure Hilfe!
Meine Tabelle hat als Spaltenüberschrift ein Tagesintervall (z.B.: Spalte B = 01.03.2007; Spalte C = 02.03.2007; etc, etc) und als Zeilenbeschriftung verschiedene Kategorien.
Eine dieser Zeile bzw. Kategorie erfordert, dass deren Zelleninhalte von einer anderen Mappe geholt wird. Mein Makro liest bis jetzt die Größe der Tabelle aus, sodass ich genau weiß wieviele Spalten ich bearbeiten muss. Jetzt sollte das Makro noch folgendes ausführen:
For i = 2 to Spaltenende
1. Lies die Überschrift (also das Datum) der Zeile1/Spalte i (also das Datum n) aus meinem Tabellenblatt1 in Mappe1 aus
2. Suche dieses Datum in den vier Arbeitsblättern der zweiten Arbeitsmappe(Mappe2/Tabellenblatt1; Mappe2/Tabellenblatt2; Mappe2/Tabellenblatt3; Mappe2/Tabellenblatt4). Pfad der Mappe2 = d:\Temp\Mappe2.xls
3. Schreibe den Zellwert der darunterliegenden Zelle zurück in die Zeile10/Spalte i des Tabellenblatt1 in Mappe1
Next i
Ich hoffe dass das so verständlich ist...
Grüße!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verknüpfung zu einer anderen Arbeitsmappe
07.02.2007 00:11:30
fcs
Hallo Toastie,
nachfolgend zwei ungetestete Gerüste, von denen du eines in dein Makro einbauen kannst. Da die eigentlich schnellere Find-Methode bei Suche nach Datums-Inhalten gelegentlich Schwierigkeiten macht bzw. entsprechende Einstellungen erfordert, habe ich hier auch eine Variante mit Suche als Wertevergleich Zelle für Zelle gelistet.
Gruss
Franz

Sub TestVariante() ' mit Wertevergleich Zelle für Zelle
Dim wbThis As Workbook, wbQuelle As Workbook
Dim wksZiel As Worksheet, wksQuelle As Worksheet
Dim Suchen As Variant, gefunden As Boolean
Dim j As Integer, i As Integer, Spaltenende As Integer
Set wbThis = ThisWorkbook 'Dies ist Mappe1.xls
Set wksZiel = wbThis.Worksheets(1)
Application.ScreenUpdating = False
Set wbQuelle = Workbooks.Open(FileName:="D:\Mappe2.xls", ReadOnly:=True) 'zu durchsuchende Arbeitsmappe
For i = 2 To Spaltenende
Suchen = wksZiel.Cells(1, i)
gefunden = False
For j = 1 To 4
Set wksQuelle = wbQuelle.Worksheets(j)
For Each Zelle In wksQuelle.UsedRange
If Zelle.Value = Suchen Then
wksZiel.Cells(10, i).Value = Zelle.Offset(1, 0).Value
gefunden = True
Exit For
End If
Next
If gefunden = True Then Exit For
Next
If gefunden = False Then
MsgBox Suchen & " wurde in den 4 Tabellen nicht gefunden"
End If
Next i
wbQuelle.Close savechanges:=False
Application.ScreenUpdating = True
End Sub
Sub Test() ' mit der Find-Methode
Dim wbThis As Workbook, wbQuelle As Workbook
Dim wksZiel As Worksheet, wksQuelle As Worksheet
Dim Suchen As Variant
Dim j As Integer, i As Integer, Spaltenende As Integer
Set wbThis = ThisWorkbook 'Dies ist Mappe1.xls
Set wksZiel = wbThis.Worksheets(1)
Application.ScreenUpdating = False
Set wbQuelle = Workbooks.Open(FileName:="D:\Mappe2.xls", ReadOnly:=True) 'zu durchsuchende Arbeitsmappe
For i = 2 To Spaltenende
Suchen = wksZiel.Cells(1, i)
Set Zelle = Nothing
For j = 1 To 4
Set wksQuelle = wbQuelle.Worksheets(j)
Set Zelle = wksQuelle.UsedRange.Find(What:=Suchen, LookIn:=xlFormulas, lookat:=xlWhole)
If Not Zelle Is Nothing Then
wksZiel.Cells(10, i).Value = Zelle.Offset(1, 0).Value
Exit For
End If
Next
If Zelle Is Nothing Then
MsgBox Suchen & " wurde in den 4 Tabellen nicht gefunden"
End If
Next i
wbQuelle.Close savechanges:=False
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Verknüpfung zu einer anderen Arbeitsmappe
07.02.2007 13:59:59
Toastie
Hallo Franz!
Dein "ungetestetes Gerüst" funktioniert nach ein paar kleineren Anpassungen an meine Originaldateien einwandfrei! Ich verwende die Find-Methode ohne damit Probleme zu haben. Den Weg über den Zellvergleich habe ich noch nicht ausprobiert...
Ich bin absolut von den Socken wie schnell du gleich zwei Lösungen anbieten konntest. Ausserdem hast du meinen "VBA-Horizont" bzgl. Zugriffe auf andere Arbeitsmappen mit deinen Beispielen um längen erweitern können.
Vielen Dank für die (nicht gerade wenig) Arbeit die du dir gemacht hast!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige