Tabellen Verweise

Bild

Betrifft: Tabellen Verweise von: Tobias Marx
Geschrieben am: 14.03.2005 09:03:05

Servus!

Also, um mein Problem noch einmal zu verdeutlichen, habe ich nun Ausschnitte aus meinen zwei Tabellen gemacht und diese noch etwas ausgestaltet mit Kommentaren.
Hier auch nochmal der Code, der die Arbeit bewerkstelligen soll:


Dim c As Range, SuBe As Range
Dim s As String
Dim laR As Long, lar2 As Long
'Bildschirmflackern abstellen
'Application.ScreenUpdating = False
'Anzahl der belegten Zellen in Tabelle2, Spalte A ermitteln
Windows("Dienstarten.xls").Activate
lar2 = Sheets(1).Cells(Rows.Count, 2).End(xlUp).Row
Windows("temp.xls").Activate
With Sheets("DATA")
'Anzahl der belegten Zellen in Tabelle3, Spalte A ermitteln
laR = .Cells(Rows.Count, 1).End(xlUp).Row
For Each c In .Range("A1:A" & laR)
'Jede Zelle in Bereich B abhandeln
s = c.Text
Windows("Dienstarten.xls").Activate
With Sheets(1)
'Bezug finden?
Set SuBe = .Range(.Cells(1, 2), .Cells(lar2, 2)). _
Find(s, lookat:=xlWhole)
'Falls was drin, Marker setzen
If Not SuBe Is Nothing Then
c.Offset(0, 3).Value = SuBe.Offset(0, 3).Value
'Variable loeschen
Set SuBe = Nothing
End If
End With
Next c
End With
Application.ScreenUpdating = True
End Sub


Nun, die Tabellen sollten selbstbeschreibend sein, aber ich wills noch einmal erklaeren:

https://www.herber.de/bbs/user/19614.xls - Dienstarten.xls
https://www.herber.de/bbs/user/19615.xls - Dokument1.xls

Name der 1ten Datei: Dienstarten.xls
Name der 2ten Datei: Dokument1.xls
Tabelle in der 1ten Datei: Tabelle1 (erstes Blatt)
Tabelle in der 2ten Datei: DATA (drittes Blatt)

In Tabelle1 stehen folgende relevante Daten:
In Spalte B stehen die Schluessel, ueber die jeweils die Datensaetze verknuepft werden sollen, in Spalte C steht der Klartext, der nachher in die zweite Datei reinkopiert werden soll.

In Tabelle2 stehen folgende relevante Daten:
In Spalte 1 (Ueberschrift DA) stehen widerrum die Schluessel, ueber die die Datensaetze mit der der ersten Datei/Tabelle vernknuepft werden sollen, in Spalte B der zweiten Datei sollen die Daten aus Spalte C der ersten Datei im Bezug auf o.g. eingefuegt werden.

Ich hoffe, das war jetzt so formuliert, dasses verstaendlich wird.


Gruss

Tobias

P.S.: Martin, ich hab mich gegen SVERWEIS entschieden, da ich von Formeln noch weniger verstehe als von VBA-Quelltext... ausserdem versteh ich die Parameter fuer diesen Befehl in VBA in diesem Fall ned...

P.P.S.: Ich musste einen neuen Thread aufmachen, da der alte, in dem ich Martins Meinung nach antworten sollte, wie es scheint im Archiv gelandet ist inzwischen...

Bild


Betrifft: AW: Tabellen Verweise von: Martin Beck
Geschrieben am: 14.03.2005 13:41:03

Hallo Tobias,

eine gute Frage ist schon die halbe Antwort. Ich habe Deinen Code mal angepasst und auf VLOOKUP verzichtet.


Sub Dienstart_uebernehmen()
Dim c As Range, SuBe As Range
Dim s As String
Dim laR As Long, lar2 As Long
Set D1 = Workbooks("Dokument1.xls")
Set DA = Workbooks("Dienstarten.xls")
'Bildschirmflackern abstellen
Application.ScreenUpdating = False
'Anzahl der belegten Zellen in Tabelle1, Spalte A ermitteln
lar2 = DA.Worksheets(1).Range("A65536").End(xlUp).Row
'Anzahl der belegten Zellen in Tabelle3, Spalte A ermitteln
laR = D1.Worksheets("DATA").Range("A65536").End(xlUp).Row
For Each c In D1.Worksheets("DATA").Range("A1:A" & laR)
'Jede Zelle in Spalte A abhandeln
    With DA.Worksheets(1)
        'Bezug finden?
        Set SuBe = .Range(.Cells(1, 1), .Cells(lar2, 1)).Find(c.Value, lookat:=xlWhole)
        'Falls was drin, Marker setzen
        If Not SuBe Is Nothing Then
            c.Offset(0, 1).Value = SuBe.Offset(0, 2).Value
            'Variable loeschen
            Set SuBe = Nothing
        End If
    End With
Next c
Application.ScreenUpdating = True
End Sub


Die Beispieldateien mit dem Code findest Du hier:

https://www.herber.de/bbs/user/19638.xls
https://www.herber.de/bbs/user/19639.xls

Gruß
Martin Beck


Bild


Betrifft: AW: Tabellen Verweise von: Tobias Marx
Geschrieben am: 14.03.2005 14:16:03

Hi Martin!

Ich werds entweder nachher oder morgen noch ausprobieren, ich hab grad n anderes Geschaeft aufgebrummt bekommen (BAT-Aktualisierungen machen -wuerg)...
Danke dir trotzdem schonmal im Voraus!


Gruss

Tobias


Bild


Betrifft: AW: Tabellen Verweise von: Tobias Marx
Geschrieben am: 17.03.2005 09:14:20

Servus!

Also der Code schaut ja eigentlich sinnvoll aus, sofern ich ihn nachvollziehen kann, aber funktionieren tut er deswegen trotzdem ned... es scheint so, als ob er garnix machen wuerde :(

Any Ideas?


Gruss

Tobias

P.S.: Vllt sollte ich doch besser VLOOKUP nehmen...


Bild


Betrifft: AW: Tabellen Verweise von: Martin Beck
Geschrieben am: 17.03.2005 14:25:54

Hallo Tobias,

ich hatte doch zwei Beispieldateien hochgeladen, in denen ich den Code gestestet habe. In diesen Dateien funktioniert er auf jeden Fall. Hast Du dies ausprobiert?

Wie hast Du den Code dann an Deine "Originaldateien" angepaßt? Kommen Fehlermeldungen? Wenn nein, hast Du die Variableninhalte mal überwacht?

Nur zu sagen, der Code macht nix, ist zu wenig.

Wenn Du gar nicht klar kommst und auch keine Fehlerbeschreibung liefern kannst, lade die Dateien mal hoch. Ansonsten sehe ich die Chancen schlecht, hier noch Deinem VBA-Niveau entsprechende Hilfe zu bekommen (Das soll keine Beleidigung sein, aber bestimmte Probleme kann man mit Hilfe bestimmter Werkzeuge nur lösen, wenn man ausreichende Kenntnisse erworben hat. Du würdest vermutlich auch keinen Start in der Formel 1 in's Auge fassen, wenn Du noch nicht einmal einen Führerschein hättest.).

Gruß
Martin Beck


Bild


Betrifft: Danke Martin - klappt von: Tobias Marx
Geschrieben am: 17.03.2005 14:45:39

Hi Martin!

Habs wider erwarten doch noch hinbekommen mit deinem Code! Danke fuer deien Geduld, mir das naeherzubringen... hab denk ich auch was mitgenommen von dem ganzen Code da :)
Gruss

Tobias


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Tabellen Verweise"