Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
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

Anfänger - Makro-Architektur

Anfänger - Makro-Architektur
14.05.2020 00:07:18
Ismail
Hallo Zusammen,
ich arbeite erst seit einigen Tagen mit Excels VBA.
Ich habe es anhand diese Codes geschafft, dass sich der Name des Datenblatts gemäß dem Eintrag in Zelle A2 ändert - so weit so gut (hier der Code):
Sub TabellennamenSetzen()
Dim Zelle As String
Zelle = "a2"
ActiveSheet.Name = ActiveSheet.Range(Zelle).Text
End Sub

Nun habe ich im Netz einen Code gefunden, der gemäß des Inhaltes in Zelle x/O14 (abgeschlossen/zurückgestellt/in Planung), das Registerblatt entsprechend einfärbt.
Nun möchte ich, dass sich das Blatt sowohl einfärbt als auch der Name automatisch abgeändert wird - kurz: wie schreibe ich beide Codes in einen zusammen, damit das Makro einfärbt und umbenennt?
Hier der 2. Code, der die entsprechende Farbe im Registerblatt setzt:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$O$14" Then
If Target = "abgeschlossen" Then
ActiveSheet.Tab.Color = RGB(0, 255, 0)
ElseIf Target = "zurückgestellt" Then
ActiveSheet.Tab.Color = RGB(153, 204, 255)
ElseIf Target = "in Planung" Then
ActiveSheet.Tab.Color = RGB(204, 255, 204)
Else
ActiveSheet.Tab.Color = RGB(204, 204, 204)
End If
End If
End Sub


Ich hoffe, dass ihr mir weiterhelfen könnt.
VG und Danke,
Izzy

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anfänger - Makro-Architektur
14.05.2020 06:35:10
Werner
Hallo,
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address(0, 0)
Case "A2", "O14"
If Range("A2")  "" Then
ActiveSheet.Name = Range("A2")
End If
Select Case Range("O14")
Case "abgeschlossen"
ActiveSheet.Tab.Color = RGB(0, 255, 0)
Case "zurückgestellt"
ActiveSheet.Tab.Color = RGB(153, 204, 255)
Case "in Planung"
ActiveSheet.Tab.Color = RGB(204, 255, 204)
Case Else
ActiveSheet.Tab.Color = RGB(204, 204, 204)
End Select
Case Else
End Select
End Sub
Gruß Werner
AW: Anfänger - Makro-Architektur
14.05.2020 14:06:03
Ismail
Grüß dich Werner,
vielen Dank für die so schnelle Reaktion. Das Makro funktioniert einwandfrei. jedoch habe ich beim Verfassen meines Anliegens 2 Details vergessen zu erwähnen, von welchen ich annahm, dass sie irrelevant wären.
Momentaner Stand durch das Makro:
im Tabellenblatt, in welchem das Makro aktiv ist, kann ich nun das Projekt ändern (A2) sowie den Status (O14) - das Registerblatt wird umbenannt und gemäß Status eingefärbt - sofern ich die Daten in die beiden Zellen händisch eintippe.
Details, die ich nicht erwähnte:
Das Projekt in Zele A2 wird durch die banale Excelformel =Übersicht!** (** als Platzhalter für die jeweilige Zelle im Tabellenblatt) übernommen und beim Abändern im Übersichts-Tabellenblatt aktualisiert. Ferner wird der Status durch einen SVerweis (ebenfalls im Tabellenblatt "Übersicht") übernommen. D.h. kurz: die Daten in A2 und O14 werden nicht händisch eingetippt, sondern durch die beiden besagten Excel-Formeln angepasst.
Kann man das Makro irgendwie umbauen, dass es nach wie vor hervorragend funktioniert, jedoch die besagten Umstände noch berücksichtigt?
Danke dir und viele Grüße,
Ismail
Anzeige
AW: Anfänger - Makro-Architektur
18.05.2020 14:04:28
Werner
Hallo,
dann mit dem Calculat-Event
Private Sub Worksheet_Calculate()
If Range("A2")  "" Then
ActiveSheet.Name = Range("A2")
End If
Select Case Range("O14")
Case "abgeschlossen"
ActiveSheet.Tab.Color = RGB(0, 255, 0)
Case "zurückgestellt"
ActiveSheet.Tab.Color = RGB(153, 204, 255)
Case "in Planung"
ActiveSheet.Tab.Color = RGB(204, 255, 204)
Case Else
ActiveSheet.Tab.Color = RGB(204, 204, 204)
End Select
End Sub
Gruß Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige