Herbers Excel-Forum - das Archiv

tabellen übergreifend kopieren

Bild

Betrifft: tabellen übergreifend kopieren
von: chris
Geschrieben am: 06.10.2003 13:03:10
Hallo allerseits

kann mir wer helfen?
ich möchte, wenn ich in tabelle2 irgend eine zelle der spalte B anklicke,
den inhalt dieser mit den inhalten der spalte B aus tabelle1 vergleichen
und bei übereinstimmung diese zeile aus tabelle1 in die tabelle2 herüberkopieren
etwa so (hab ich mir gedacht)

If ActiveCell.Row = 2 Then
vergl = ActiveCell.Value 'aktive zelle in tabelle2
lz = Worksheets("tabelle1").Cells(Rows.Count, 2).End(xlUp).Row
'letze zeile, hab ich aus dem wunderbaren forum

For i = 1 To lz
Worksheets("tabelle1").Cells(i, 2).Select
If ActiveCell.Value = vergl Then
Worksheets("tabelle2").Range(Cells(i, 2), Cells(i, 11)).Copy
Destination:=Worksheets("tabelle1").Range("B4:K4")
End If
Next
End If

tut nix.
hab den verdacht das ich (ungeachtet möglicher fehler) auch nicht genau weiss wo dieser code hinsoll. sprich in welches vba Objekt und welches Sub.

mit Dankeschön im Voraus


Bild

Betrifft: AW: tabellen übergreifend kopieren
von: Martin Bolleter
Geschrieben am: 06.10.2003 16:30:11
Hallo Chris

was du beschreibst stimmt nicht mit deinem Beispielcode überein! ZB sagst du, dass du aus Tabelle1 in die Tabelle2 kopieren willst. Im Code machst du es aber genau umgekehrt!!
Weiter sagst du, dass du in eine beliebige Zelle der Spalte B klickst, im Code prüfst du aber auf Zeile=2 (If ActiveCell.Row = 2 Then). Etwas mehr und präzisere Informationen würden den Antwortenden die Aufgabe leichter machen.
Ich habs mal versucht, und mich eher an deinen Text als den Code gehalten :-)

Du brauchst zwei Code-Teile; der erste kommt "hinter" die Tabelle2, in die kopiert werden soll, und in der du den Event (durch Klicken in Kolonne 2) auslöst:



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub
Call search(Target.Row)
End Sub



In einem normalen Modul dann den Code für die Prozedur "Search" :

Sub search(Zl%)
Dim Wert, ZeileT1%, i%
Application.ScreenUpdating = False
Wert = ActiveSheet.Cells(Zl, 2).Value
ZeileT1 = Worksheets("tabelle1").Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To ZeileT1
If Wert = Worksheets("tabelle1").Cells(i, 2).Value Then
Range(Worksheets("tabelle1").Cells(i, 3), Worksheets("tabelle1").Cells(i, 11)).Copy Cells(Zl, 3)
Exit For
End If
Next i
End Sub


So hat's bei mir funktioniert, ist aber nicht für jede denkbare Situation getestet ...

Gruss
Martin
Bild

Betrifft: AW: tabellen übergreifend kopieren
von: chris
Geschrieben am: 06.10.2003 20:38:50
Danke Martin

das war ein sehr lehreiches Posting
tschuldige den konfusen Code
 Bild
Excel-Beispiele zum Thema " tabellen übergreifend kopieren"
Suche über mehrere Tabellen Benennen von Tabellenblättern mit Monatsnamen
Druckseitenlinien im Tabellenblatt Tabellenblattnamen in ein Listenfeld einlesen
Suchbegriff über mehrere Tabellenblätter suchen. Tabellenblätter benennen
Tabellenblatt auswählen Zustand von Tabellenblatt-Checkboxes ermitteln
Tabellenblattnamen der VBE-Projekte ändern Tabellenblattnamen nach Datum