Vergleich von Zelleninhalt mit Tabellenblattname

Bild

Betrifft: Vergleich von Zelleninhalt mit Tabellenblattname
von: Andreas
Geschrieben am: 08.10.2015 09:08:56

Hallo zusammen,
folgendes Problem liegt an, bei dem ich gerade etwas auf dem schlauch stehe.
In meiner Arbeitsmappe haben wir mal, grob geschätzt 40 Tabellenblätter, wovon 35 relevant für die nachfolgende Berechnung sind.
Die Namen der Tabellenblätter sind meist nach dem folgenden Schema aufgebaut:
Vierstellige Nummer Leereichen Name der Kostenstelle z.B. "1000 Geschäftsführung"
es gibt aber auch 3 Blätter, welche den nach der Nummer noch eine Ergänzung haben:
"1000-1 PKW GL" und das Tabellenblatt "ohne KST" ist auch noch relevant. (Immer ohne die "").
Nun wird in Zelle A516 eine 4- Stellige Nummer oder eine mit entsprechender Ergänzng (-1) oder das "ohne" eingetragen. Z.B wird in der Zelle A516 des Blattes "1000 Geschäftsleitung" die Nummer 1000-1 eingetragen, so sollen in den Zellen H516 - CJ516 (H516:CJ516) wie Werte aus dem Tabellenblatt "1000-1 PKW GL" aus den Zellen H512 - CJ512 (H512:CJ512) eingetragen werden.
Es soll also der Zelleninhalt aus A516 mit den Namen der Tabellenblättern verglichen werden und dann entsprechende Werte, in bestimmten Zellen wiedergegeben werden.
Ich hoffe ich konnte das ganze verständlich beschreiben und hoffe Ihr wisst eine Lösung für mein Problem.

Bild

Betrifft: AW: Vergleich von Zelleninhalt mit Tabellenblattname
von: Sepp
Geschrieben am: 10.10.2015 09:55:26
Hallo Andreas,
in das Modul der Tabelle "1000 Geschäftsleitung".

' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim objWS As Worksheet, strFormula As String

If Target.Address(0, 0) = "A516" Then
  If Len(Target) Then
    For Each objWS In ThisWorkbook.Worksheets
      If Not objWS Is Me Then
        If objWS.Name Like Target.Text & "*" Then
          strFormula = "='" & objWS.Name & "'!H512"
          Exit For
        End If
      End If
    Next
  End If
  Range("H516:CJ516").Formula = strFormula
End If

End Sub

Gruß Sepp


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Vergleich von Zelleninhalt mit Tabellenblattname"