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

Blattname aus Tabelle

Blattname aus Tabelle
16.12.2020 10:54:15
Hans-Peter
Moin ihr Experten,
Ich habe ein Makro, um den Blattnamen zu ändern UND ein anderes zum Erstellen von Zufallszahlen, bin aber wohl zu blöd, beide "unter einen Hut" zu bekommen. Einzeln funktionieren beide. Kann mir da jemand helfen?
Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Name = Range("A1")
End If
End Sub
Option Explicit
Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Zelle As Range
If Not Intersect(Target, Range("13:13,25:25,37:37,50:50,62:62,74:74,87:87,99:99,111:111,124: _
124,136:136,148:148,161:161,173:173,185:185,198:198,210:210,222:222,235:235,247:247,259:259,272:272,284:284,296:296,309:309,321:321,333:333,346:346,358:358,370:370,393:383,395:395,407:407,420:420"), _
Range("M:M,Y:Y,AM:AM,AY:AY,BM:BM,BY:BY,CM:CM,CY:CY,DM:DM,DY:DY,EM:EM,EY:EY,FM:FM,FY:FY") _
) Is Nothing Then
For Each Zelle In Range("A1:A6")
Zelle.Value = Int((6 * Rnd) + 1)
Next Zelle
End If
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattname aus Tabelle
16.12.2020 10:57:19
Hajo_Zi
Du möchtest der Variablen Name den Wert von A1 zuweisen?
Es wird keinen Worksheet ein Name zugewiesen, Da Fehlkt Workshetts.
Ich würde als Variablenamen nichts nehmen was an eine VBA Befehl erinnert.

AW: Blattname aus Tabelle
16.12.2020 11:14:58
Rudi
Hallo,
du hast jede 12. Zeile. Aber bei 37 nach 50 sind's 13. Stimmt das?
Ansonsten Für jede 12. Zeile (13,25,37,49,61,....) und Spalte (M, Y, AK, ....)
Sub Worksheet_Change(ByVal Target As Excel.Range)
On Error GoTo ERREXIT
Application.EnableEvents = False
If Target.Address = "$A$1" Then
Me.Name = Target
Else
Select Case True
Case (Target.Row - 1) Mod 12 = 0 And (Target.Column - 1) Mod 12 = 0
MsgBox "x"
'mach was
End Select
End If
ERREXIT:
Application.EnableEvents = True
End Sub

Anzeige
AW: Blattname aus Tabelle
16.12.2020 11:10:19
Nepumuk
Hallo Hans-Peter,
so:
Option Explicit

Sub Worksheet_Change(ByVal Target As Excel.Range)
    
    Dim Zelle As Range
    
    If Not Intersect(Target, Range("13:13,25:25,37:37,50:50,62:62,74:74," & _
        "87:87,99:99,111:111,124:124,136:136,148:148,161:161,173:173,185:185," & _
        "198:198,210:210,222:222,235:235,247:247,259:259,272:272,284:284,296:296," & _
        "309:309,321:321,333:333,346:346,358:358,370:370,393:383,395:395,407:407,420:420"), _
        Range("M:M,Y:Y,AM:AM,AY:AY,BM:BM,BY:BY,CM:CM,CY:CY,DM:DM,DY:DY,EM:EM,EY:EY,FM:FM,FY:FY")) Is Nothing Then
        
        For Each Zelle In Range("A1:A6")
            
            Zelle.Value = Int((6 * Rnd) + 1)
            
        Next Zelle
        
    ElseIf Target.Address = "$A$1" Then
        
        Name = Range("A1").Text
        
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Blattname aus Tabelle
16.12.2020 12:44:23
Hans-Peter
Klappt soweit prima, nur leider hab ich die Namen in einer Tabelle auf einem Extrablatt stehen und mit dem Bezug (TABELLE!E6) klappt es dann leider wieder nicht. Geht das überhaupt?
ElseIf Target.Address = "$TABELLE!E$6" Then
Name = Range("TABELLE!E6").Text
End If
AW: Blattname aus Tabelle
16.12.2020 12:54:23
Nepumuk
Hallo Hans-Peter,
Worksheet_Change reagiert nur auf Änderungen in der Tabelle in welcher das Makro steht.
Gruß
Nepumuk
AW: Blattname aus Tabelle
16.12.2020 12:57:14
Hans-Peter
So etwas hatte ich befürchtet :(. DANKE DIR!
AW: Blattname aus Tabelle
16.12.2020 15:25:51
ralf_b
und wie wäre es damit? Sofern du den Namen und nicht den Codenamnen benutzt
ElseIf Target.Address = Worksheets("Tabelle").Range("E6") Then
Name = Worksheets("Tabelle").Range("E6").Text

Anzeige
AW: Blattname aus Tabelle
16.12.2020 11:33:18
ralf_b
Hallo Hans-Peter,
zum Verständnis. Diese Makros Worksheet_Change usw, die du im Codebereich bereits vorfindest, sind Codebausteine um die, im Namen des Makros beschriebenen, Aktionen wie click, change, exit, save usw. zu nutzen. Die kann man nicht zweimal separat nutzen.
Da sie gleiche Namen haben würde das sowieso nicht hinhauen.
Du hast schon Lösungen bekommen. Die beiden Codes könnten aber einfach untereinander ins Change sub kopiert werden. Nur das mit der Namenzuweisung war ein Fehler.
Gruß
RB

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige