Anzeige
Archiv - Navigation
904to908
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
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Arbeitsblattfarben in Zellen übernehmen

Arbeitsblattfarben in Zellen übernehmen
14.09.2007 21:50:33
Lemmi
Hallo zusammen,
ich möchte gerne in vorgegenen Spalten, Zellen einfärben. Diese Zellen sollten so eingefärbt werden, das Sie die Farbe und die Reihenfolge der Arbeitsblätter haben!.
Es sollten nur 10 Zellen untereinander aufgelistet werden! Sind nun 10 Zellen voll so wird in der nächsten Zellen- Spalte der nächste Eintrag durchgeführt! Dies sollte so lange ausgeführt werden bis alle Tabellen einer Zelle zugewiesen worden sind!
D.h. das die Arbeitsblätter- Farben ausgelesen werden müssten und dann auf die Zellen übertragen werden!
Siehe auch :https://www.herber.de/bbs/user/46051.xls
Kann man das mit VBA umsetzen?
Gruß
Lemmi

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblattfarben in Zellen übernehmen
14.09.2007 21:54:00
Hajo_Zi
Hallo Lemmi,
ich komme mit der Beschreibung nicht klar und dachte dann lädst mal die Datei runter. Vielleicht wird klarer. Die Datei kann aber nicht runtergeladen werden.

AW: Arbeitsblattfarben in Zellen übernehmen
14.09.2007 22:33:03
Hajo_Zi
Hallo Lemmi,
das ist umsetzt bar, fast alles ist in VBA umsetzbar. Aber nicht mehr Heute von meiner Seite.
Gruß Hajo

Anzeige
AW: Arbeitsblattfarben in Zellen übernehmen
14.09.2007 22:45:18
Josef
Hallo Lemmi,
lauten die Tabellennamen immer ("Tabelle1", "Tabelle2", .....), oder gibt es auch andere Tabellennamen?
Gruß Sepp

AW: Arbeitsblattfarben in Zellen übernehmen
15.09.2007 06:57:00
Lemmi
Hallo Sepp,
die Namen werden immer mal wieder geändert!
Gruß
Lemmi

AW: Arbeitsblattfarben in Zellen übernehmen
15.09.2007 00:58:00
Daniel
Hi
probier mal das hier.
funktioniert auf jeden fall mit deiner Beispieldatei

Sub Färben()
Dim BlattName As String
Dim Zahl As Integer
Dim Zelle As Range
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Sheets
BlattName = Replace(sh.Name, "Tabelle", "")
If IsNumeric(BlattName) Then
Zahl = CInt(BlattName)
If Zahl > 0 Then
Set Zelle = Cells.Find(what:=Zahl, lookat:=xlWhole)
If Not Zelle Is Nothing Then
Zelle.Offset(0, 1).Interior.ColorIndex = sh.Tab.ColorIndex
End If
End If
End If
Next
End Sub


Gruß, Daniel

Anzeige
AW: Arbeitsblattfarben in Zellen übernehmen
15.09.2007 07:17:21
Lemmi
Hallo Daniel,
ich hab das Marko ausprobiert , aber wie schon von Sepp gefragt, wird sich der Name immer mal wieder ändern!
Damit müsste man das Marko immer wieder manuell anpassen!
Könntest Du vielleicht noch versuchen eine VBA- "universal"- Lösung zuschreiben !
Vielen Dank im Voraus!
Gruß
Lemmi

AW: Arbeitsblattfarben in Zellen übernehmen
15.09.2007 08:21:17
Mark
Hallo Lemmi
Versuch mal folgendes Makro:

Sub Registerfarbe()
Dim Zelle As Range
For Each Zelle In Union(Range("c2:c11"), Range("f2:f11"), Range("i2:i11"), Range("l2:l11"),  _
Range("o2:o11"))
If Zelle.Value 


Gruß aus dem Sauerland
Jens

Anzeige
Nachtrag
15.09.2007 08:23:00
Jens
Hi Lemmi
Nicht, dass Du Dich wegen dem Namen wunderst, Mark ist mein Sohn, der Schlingel ;-)
Gruß aus dem Sauerland
Jens

AW: Arbeitsblattfarben in Zellen übernehmen
15.09.2007 11:02:00
Daniel
Hallo
es gibt meiner Ansicht nach im Normalfall keine Universallösung.
ein VBA-Makro ist immer an die Spezifische Problemstellung angepasst und auch unwichtig erscheinende Randbedingungen können unterschiedliche Lösungsansätze erfordern.
Nur mal ein kleines Beispiel:
- du hast jetzt in deiner Liste für die Tabellenblätter Nummern stehen.
Frage: haben die Tabellenblätter selbst später auch diese Nummern in der Benennung oder haben sie andere Namen und die Nummerierung in der Liste beziehts sich auf Indexreihenfolge der Tabellenblätter?
- was steht in den anderen Spalten, dh. können die Zahlen für die Tabellenblatt-Nummerierungen auch an einer Anderen Stelle in der Liste vorkommen?
davon hängt ab, ob ich die Nummern einfach im bereich CELLS suchen kann oder ob ich die Suche auf einen bestimmten bereich einschränken muss (dann ist das ganze aber nicht mehr "universell", weil dann musst du das Makro anpassen, wenn du z.B. nachträglich Spalten einfügst.)
hier mal ne Universellere Variante, die aber Erfordert, daß
1. der Eintrag in der Liste 1:1 mit dem Tabellenblattnamen übereinstimmt
2. der Tabellenblattname in der Liste nur genau 1x vorkommen kann

Sub Färben()
Dim BlattName As String
Dim Zelle As Range
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Sheets
BlattName = sh.Name
Set Zelle = Cells.Find(what:=Blattname, lookat:=xlWhole)
If Not Zelle Is Nothing Then
Zelle.Offset(0, 1).Interior.ColorIndex = sh.Tab.ColorIndex
End If
Next
End Sub


Gruß, Daniel

Anzeige
AW: Arbeitsblattfarben in Zellen übernehmen
15.09.2007 20:46:00
Lemmi
Hallo zusammen,
erst einmal vielen Dank an alle!
Die Markos von Jens/ Mark haben die Merkmale die ich gerne umgesetzt haben wollte!
Leider ist aber ein unerwartetes Problem aufgetaucht!
Das Marko Registerfarben sollte dazu dienen, eine "farbliche Untermalung" des Inhaltsverzeichnisses deutlich zu machen!
... Nun startet ich erst ein zweites Marko "Inhaltsverzeichnis". Diese löscht alle Butten im dem Ordner Inhalt. Der zuvor erzeugte Button Makro Registerfraben ist damit auch gelöscht ! Dies soll aber nicht passieren!
Es ist sicherlich schwer verständlich deshalb habe ich eine neue Datei erzeugt, die so hoffe ich alles verständlich macht!
https://www.herber.de/bbs/user/46066.xls
Main Idealfunktion würde sein, wenn das Marko Registerfarben in das Mako Inhaltsverzeichnis eingebunden würde? so würden die die Farben und Button immer neu angepasst!
Kann mann das noch umsetzten?
Gruß
Lemmi

Anzeige
AW: Arbeitsblattfarben in Zellen übernehmen
15.09.2007 21:02:00
Josef
Hallo Lemmi,
probier mal.
Sub Inhaltsverzeichnis()
Dim x As Integer, y As Integer, h As Integer, b As Integer, Btn As Object, _
    sh As Integer, shp As Shape, c As Integer, wshInhalt As Worksheet
Application.ScreenUpdating = False
h = 26: b = 150: x = 80: y = 40
'alte Button löschen
If InhaltExists = False Then
    Set wshInhalt = Worksheets.Add
    With wshInhalt
        .Move before:=Sheets(1)
        .Name = "Inhalt"
    End With
End If
Set wshInhalt = Worksheets("Inhalt")
On Error Resume Next
For Each shp In Sheets(1).Shapes
    If shp.Name Like "btn_*" Then
        'Registerfarbe löschen
        shp.TopLeftCell.Offset(0, -1).Interior.ColorIndex = 15
        shp.Delete
    End If
Next shp
On Error GoTo 0
c = 1
'neue Buttons einfügen
'button für Aktualisierung
Set Btn = wshInhalt.Buttons.Add(0, 0, b, h)
With Btn
    .Name = "btn_refresh"
    .OnAction = "Inhaltsverzeichnis"
    .Placement = xlFreeFloating
    .PrintObject = False
    .Characters.Text = "Auffrischen"
End With


For sh = 2 To Sheets.Count
    Set Btn = wshInhalt.Buttons.Add(x, y, b, h)
    With Btn
        .Name = "btn_" & Format(sh, "000")
        .OnAction = "activatesheet"
        .Placement = xlFreeFloating
        .PrintObject = True
        .Characters.Text = Sheets(sh).Name
    End With
    'Registerfarbe auslesen
    Btn.TopLeftCell.Offset(0, -1).Interior.Color = Sheets(sh).Tab.Color
    '"Zurück"-Button löschen
    On Error Resume Next
    Sheets(sh).Shapes("btnBack").Delete
    On Error GoTo 0
    '"Zurück"-Button auf jedes Blatt
    Set Btn = Sheets(sh).Buttons.Add(0, 23, 70, 15)
    With Btn
        .OnAction = "Back"
        .Characters.Text = "<<zurück<<"
        .Placement = xlFreeFloating
        .Name = "btnBack"
    End With
    ' immer nur 10 Buttons untereinander
    If c Mod 10 = 0 Then
        x = x + b + 55
        y = 40
        c = 1
    Else
        y = y + h + 10
        c = c + 1
    End If
Next sh
wshInhalt.Range("A1").Select
Application.ScreenUpdating = True
End Sub


Gruß Sepp

Anzeige
AW: Arbeitsblattfarben in Zellen übernehmen
15.09.2007 23:25:59
Lemmi
Hallo Sepp,
perfekt ! Vielen vielen Dank!
Gruß
Lemmi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige