Office: Makro-Problem

Helfe beim Thema Makro-Problem in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Mein Problem ist folgendes: Zum einen möchte ich, dass sich das Register automatisch nach der Zelle $B$6 benennt, wenn in der Zelle $B$4... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von taad, 23. Juni 2009.

  1. taad Erfahrener User

    Makro-Problem


    Hallo

    Mein Problem ist folgendes:

    Zum einen möchte ich, dass sich das Register automatisch nach der Zelle $B$6 benennt, wenn in der Zelle $B$4 etwas verändert wird.

    Ausserdem soll sich die Farbe des Registers entsprechend dem Inhalt der Zelle $A$11 (1=rot; 2=grün; 0=blau) automatisch verändern, wenn in den Zellen $B$8:$B$9 etwas verändert wird.

    Das Makro muss jeweils für das entsprechende register gültig sein, da es möglich sein muss beliebig viele Register mit diesen Bedingungen zu haben.

    Habe mal was versucht, wo das mit den Farben aber nicht funktioniert:

    Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Application.Intersect(Target, Range("B4:B4")) Is Nothing Then
    On Error GoTo fehlermeldung
    If Target = "" Then Exit Sub
    ActiveSheet.Name = Range("B6").Value
    End If

    If Not Application.Intersect(Target, Range("B8:B9")) Is Nothing Then
    If Range("A11") = "1" Then ActiveWorksheet.Tab.ColorIndex = 3
    ElseIf Range("A11") = "2" Then ActiveWorksheet.Tab.ColorIndex = 4
    ElseIf Range("A11") = "0" Then ActiveWorksheet.Tab.ColorIndex = 37

    End If

    Exit Sub

    fehlermeldung:
    MsgBox "Grober Fehler: Komplex schon vorhanden! Registername wurde nicht verändert!"
    End Sub


    Könnt ihr mir helfen?

    Danke!!
     
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    ich hätte die Aufgabe so interpretiert unter DieseArbeitsmappe
    Code:
    Option Explicit
    
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
        If Target.Address = "$B$4" Then ActiveSheet.Name = Range("B6")
        If Not Application.Intersect(Target, Range("B8:B9")) Is Nothing Then
            Select Case Target.Value
                Case 1
                    ActiveSheet.Tab.ColorIndex = 3
                Case 2
                    ActiveSheet.Tab.ColorIndex = 4
                Case 0
                    ActiveSheet.Tab.ColorIndex = 37
                Case Else
                    ActiveSheet.Tab.ColorIndex = xlNone
            End Select
        End If
    End Sub
     
    Hajo_Zi, 23. Juni 2009
    #2
  3. taad Erfahrener User
    Fehler

    Hallo

    Leider funktioniert die automatische Namensänderung des Registers nicht.

    Auch die Farbänderung funktioniert nicht.

    Bei der Farbänderung ist noch folgendes wichtig: Sobald in den Feldern $B$8 oder $B$9 etwas verändert wird, soll der Wert aus der Zelle $A$11 die Farbe bestimmen.


    Danke für die Hilfe.
     
  4. Hajo_Zi
    Hajo_Zi Erfahrener User

    Makro-Problem

    bei mir geht es ersetze die Zahl durch Range("A1"), das Stand nicht im ersten Beitrag.
     
    Hajo_Zi, 23. Juni 2009
    #4
  5. taad Erfahrener User
    Missverständnis

    Vielleich haben wir uns falsch verstanden.

    Wenn ich in den Zellen $B$8 oder $B$9 etwas ändere, schaut Excel, was in der Zelle $A$11 steht. Wenn dort eine "1" steht, wird das Register rot, wenn eine "2" steht grün, sonst blau.

    Danke und Gruss
     
  6. Hajo_Zi
    Hajo_Zi Erfahrener User
    dann schreibe nicht "A1" sondern "A11". Die zahl nach = war gemeint
     
    Hajo_Zi, 23. Juni 2009
    #6
  7. taad Erfahrener User
    Wäre das so richtig? In den Zellen $B$8 und $B$9 kann man nur Ja oder Nein auswählen. In der Zelle $A$11 steht dann der Wert, welche Farbe genommen werden soll.

    Schön wäre noch, wenn ein Register nach einem schon vorhandenen benannt werden soll, eine Fehlermeldung erscheintl.

    Option Explicit

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Address = "$B$4" Then ActiveSheet.Name = Range("B6")
    If Not Application.Intersect(Target, Range("B8:B9")) Is Nothing Then
    Select Case Target.Value
    Case 1
    ActiveSheet.Tab.ColorIndex = Range("A11")
    Case 2
    ActiveSheet.Tab.ColorIndex = Range("A11")
    Case 3
    ActiveSheet.Tab.ColorIndex = Range("A11")
    Case Else
    ActiveSheet.Tab.ColorIndex = xlNone
    End Select
    End If
    End Sub
     
  8. Hajo_Zi
    Hajo_Zi Erfahrener User

    Makro-Problem

    Code:
    Option Explicit
    
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
        If Target.Address = "$B$4" Then
            Dim WsTabelle As Worksheet
            For Each WsTabelle In Worksheets
                If WsTabelle.Name = Range("B4") Then
                    Beep
                    MsgBox "Die Tabelle ist schon vorhaden!"
                    Exit Sub
                End If
            Next WsTabelle
            ActiveSheet.Name = Range("B6")
        ElseIf Not Application.Intersect(Target, Range("B8:B9")) Is Nothing Then
            Select Case Target.Value
                Case 1
                    ActiveSheet.Tab.ColorIndex = Range("A11")
                Case 2
                    ActiveSheet.Tab.ColorIndex = Range("A11")
                Case 0
                    ActiveSheet.Tab.ColorIndex = Range("A11")
                Case Else
                    ActiveSheet.Tab.ColorIndex = xlNone
            End Select
        End If
    End Sub
    
     
    Hajo_Zi, 23. Juni 2009
    #8
  9. taad Erfahrener User
    Farbe

    Muss nochmal stören

    In den Zellen $B$8 und $B$9 kann ich "Ja" oder "Nein" auswählen (Gültigkeit/Liste). Daraus ergibt sich in der Zelle $A$11 via wenn-dann-Formel ein Faktor (1; 2 oder 0).

    Bei dem Faktor 1 soll das Register rot, bei 2 grün und bei 0 blau angezeigt werden.

    Auslöser für die Ausführung soll eine Änderung in den Zellen $B$8 oder $B$9 sein.

    Das funktioniert bisher noch nicht.

    ElseIf Not Application.Intersect(Target, Range("B8:B9")) Is Nothing Then
    Select Case Target.Value
    Case 1
    ActiveSheet.Tab.ColorIndex = Range("A11")
    Case 2
    ActiveSheet.Tab.ColorIndex = Range("A11")
    Case 0
    ActiveSheet.Tab.ColorIndex = Range("A11")
    Case Else
    ActiveSheet.Tab.ColorIndex = xlNone
     
Thema:

Makro-Problem

Die Seite wird geladen...
  1. Makro-Problem - Similar Threads - Makro Problem

  2. Kontrollkästchen (mehrere) Makro kopieren, Problem: Zellen nicht gegenseitig überschreiben

    in Microsoft Excel Hilfe
    Kontrollkästchen (mehrere) Makro kopieren, Problem: Zellen nicht gegenseitig überschreiben: Hallo zusammen, ich arbeite gerade an einer Vereinfachung für Bestellungen. Ich habe es hingekriegt, dass Kontrollkästchen an zu wählen sind und dann bestimmte Informationen kopiert werden. Jetzt...
  3. Excel VBA / Daten kopieren wenn Liste auf x steht.

    in Microsoft Excel Hilfe
    Excel VBA / Daten kopieren wenn Liste auf x steht.: Hallo zusammen, ich habe ein PowerQuery, welches ich ca. 2 mal im Monat aktualisiere. Aus dem Query möchte ich gerne die Daten per Makro in ein anderes Arbeitsblatt kopieren. Dabei möchte ich...
  4. Makro Problem nach Wörtern filtern und Zeilen löschen

    in Microsoft Excel Hilfe
    Makro Problem nach Wörtern filtern und Zeilen löschen: Hallo zusammen! Ich habe ein Makro, dass ich erweitern möchte. Dabei soll in den Daten in der ersten Zeile ein Filter aktiviert werden und alle Datenzeilen löschen, die in Spalte 10 eines von 4...
  5. Problem mit Verbundener Zelle in Makro

    in Microsoft Excel Hilfe
    Problem mit Verbundener Zelle in Makro: Hallo, ich will bei Doppelklick auf eine verbundene Zelle ein X erzeugen. Dafür benutze ich folgendes Makro Code: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As...
  6. Office 365: Problem mit Makro: Autofilter, pdf export

    in Microsoft Excel Hilfe
    Office 365: Problem mit Makro: Autofilter, pdf export: Hallo zusammen Da ich im Bereich Makros für Excel Anfänger bin, bitte ich euch um Hilfe. Folgende Ausgangslage: Mit ein bisschen suchen, habe ich ein Makro mit Autofilter Funktion und...
  7. Problem bei Excel - VBA Makro SVERWEIS funktioniert nicht!

    in Microsoft Excel Hilfe
    Problem bei Excel - VBA Makro SVERWEIS funktioniert nicht!: Hallo Zusammen, vielleicht kann mir jemand bei meinem Problem helfen. Ich bin in der VBA Programmierung nicht so fit. Ich habe es mit einer Makroaufzeichnung versucht und bekam dieses Ergebnis:...
  8. Excel Makro Problem

    in Microsoft Excel Hilfe
    Excel Makro Problem: Guten Tag, ich bin ganz neu hier und hoffe auf Hilfe. Ich versuche grade ein Importskript für meinen Shop zu bauen. Problem: Ich würde gerne in einem Excelblatt per Makro die Zeilen 2-8...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden