Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1176to1180
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
Inhaltsverzeichnis

Verknüpfung die 2.

Verknüpfung die 2.
Andreas
Moin Forum,
ich hatte hier; https://www.herber.de/forum/archiv/1176to1180/t1176611.htm#1176611
, eine Anfrage bezgl. Verknüpfung gestellt. Und die Hilfe hat auch funktioniert, nachdem ich das alles richtig verstanden habe (siehe Beiträge).
Jetzt wollte ich das ganze für meine Zwecke noch anpassen, dazu bitte meine letzten Beitrag in der Historie lesen.
Danke
MfG

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Verknüpfung die 2.
17.09.2010 03:00:31
fcs
Hallo Andreas,
am saubersten wäre eine Lösung, wenn du in der Übersicht in einer Spalte auch den Tabellennamen der anderen Blätter einträgst.
Dann kann man das Makro so einrichten, dass bei Änderungen in der Übersicht der Tabellenname in der Zeile ausgelesen wird und dann der eingegeben Wert in Spalte C in die Zelle C2 des Blattes eingetragen wird.
Umgekehrt kann bei Änderung in der Zelle C2 eines Blattes in der Übersicht die Zeile mit dem Tabellennamen gesucht werden und der Name aus C2 in der Spalte C der gefundenen Zeile eingetragen werden.
Wenn du die Werte nach dem Schema
Blatt2 - C2 --- Übersicht - C2
Blatt3 - C2 --- Übersicht - C3
Blatt4 - C2 --- Übersicht - C4
usw.
abgleichen willst, dann funktioniert nachfolgendes. Du Darfst dann aber neue Blätter immer nur als letztes Register einfügen, sonst stimmt die Datenzuordnung zwischen Übersicht und Listen nicht mehr!!!
Gruß
Franz
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Zeile As Long, Spalte As Long, sZelle As String
If Target.Cells.Count>1 Then Exit Sub '
Application.EnableEvents = False
Select Case Sh.Index
Case 1 'Änderung in Sammelliste
If Target.Row >= 2 And Target.Row  "" Then
Sheets(Target.Row).Range(sZelle).Value = Target.Value
End If
End If
Case 2 To Me.Sheets.Count 'Listenblätter - Blatt 2 bis letztes Blatt
Zeile = Sh.Index
Spalte = 0
Select Case Target.Address
Case "$B$2": Spalte = 2 'ID-Nr.
Case "$C$2": Spalte = 3 'Start-Modell
Case "$B$4": Spalte = 4 'Kategorie
Case "$C$4": Spalte = 5 'Modell
End Select
If Spalte  0 Then Sheets(1).Cells(Sh.Index, Spalte).Value = Target.Value
End Select
Application.EnableEvents = True
End Sub
'Beispiel, wenn Blattnamen der Listenblätter in Spalte A der Sammelliste eingetragen sind.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Zeile As Long, Spalte As Long, sZelle As Long
If Target.Cells.Count > 1 Then Exit Sub 'Nur abgleichen, wenn 1 Zelle geändert wurde
Application.EnableEvents = False
Select Case Sh.Index
Case 1 'Änderung in Sammelliste
If Target.Row >= 2 And Target.Row  "" Then
Sheets(Sh.Cells(Target.Row, 1).Value).Range(sZelle).Value = Target.Value
End If
End If
Case 2 To Me.Sheets.Count 'Listenblätter - Blatt 2 bis letztes Blatt
'Tabellenblattname in Spalte 1 der Sammelliste suchen
If Sheets(1).Columns(1).Find(what:=Sh.Name, LookIn:=xlValues, _
lookat:=xlWhole) Is Nothing Then
MsgBox "Blatt """ & Sh.Name & """ ist noch nicht in Sammelliste eingetragen!"
Else
Zeile = Sheets(1).Columns(1).Find(what:=Sh.Name, LookIn:=xlValues, lookat:=xlWhole).Row
Spalte = 0
Select Case Target.Address
Case "$B$2": Spalte = 2 'ID-Nr.
Case "$C$2": Spalte = 3 'Start-Modell
Case "$B$4": Spalte = 4 'Kategorie
Case "$C$4": Spalte = 5 'Modell
End Select
If Spalte  0 Then Sheets(1).Cells(Zeile, Spalte).Value = Target.Value
End If
End Select
Application.EnableEvents = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige