Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
784to788
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
784to788
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zelle für Makro-Start überwachen

Zelle für Makro-Start überwachen
25.07.2006 12:46:16
Düppi
Liebe VBA-Profis,
in Tabelle1 ist in Zelle A1 eine Dateneingabe über Daten/Gültigkeit/Liste vorgesehen. Die Liste umfasst 32 Werte. Gemäß der Auswahl des Benutzers zeichnet ein Makro in Tabelle1 dicke Linien - immer an anderer Stelle (Makro dafür siehe unten).
Nun möchte ich die gleichen Linien auch in Tabelle2 haben - dort soll aber keine Dateneingabe in A1 erfolgen. Ich möchte, dass A1 aus Tabelle1 "überwacht" wird und ich das Makro somit auch in Tabelle2 nutzen kann. Wie muss ich das VBA-Modul umschreiben?
Für VBA-Profis kein großer Schritt, für Düppi schon... Danke für Hilfe!
Hier das Makro:

Private Sub Worksheet_Change(ByVal Target As Range)
Const Zelle = "A1"
If Target.Address = Range(Zelle).Address Then
Dim l, liste, eintr
On Error Resume Next
l = WorksheetFunction.VLookup(Target.Value, Sheets("Druckschemen").Range("A1:B32"), 2, False)
Range("A5:AJ52").Borders.LineStyle = xlContinuous
liste = Split(l, ",")
For Each eintr In liste
With Range("A5:AJ52").Rows(eintr).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
Next
End If
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle für Makro-Start überwachen
25.07.2006 12:57:17
Matthias
Hi Düppi,
versuch mal:


Private Sub Worksheet_Change(ByVal Target As Range)
Const Zelle = "A1"
If Target.Address = Range(Zelle).Address Then
Dim l, liste, eintr
On Error Resume Next
l = WorksheetFunction.VLookup(Target.Value, Sheets("Druckschemen").Range("A1:B32"), 2, False)
Range("A5:AJ52").Borders.LineStyle = xlContinuous
liste = Split(l, ",")
For Each eintr In liste
With Range("A5:AJ52").Rows(eintr).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
Next
Range("A5:AJ52").Copy
Sheets("Tabelle2").Range("A5:AJ52").PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End If
End Sub


hier werden aber alle Formate nach Tabelle2 übertragen.
Gruß Matthias
Anzeige
AW: Zelle für Makro-Start überwachen
25.07.2006 14:59:28
Düppi
Hallo Matthias,
genau das ist aber mein Problem: nicht alle Formate, sondern nur die Linien sollen wie in Tabelle1 gezeichnet werden.
Ich kann ja das Makro aus Tabelle1 in ein Makro für Tabelle2 kopieren - die ist gleich aufgebaut, nur eben mit anderen - gewünschten - Formatierungen. Es dreht sich also darum, wie Makro für Tabelle2 merkt, dass eine Eingabe in Tabelle1 geändert wurde...!
Hast Du so einen Tipp (das Makro stammt, glaube ich, sowieso von Dir...?)
Gruß Düppi
AW: Zelle für Makro-Start überwachen
25.07.2006 15:07:08
Matthias
Hi Düppi,
(das Makro stammt, glaube ich, sowieso von Dir...?)
Genau...
du brauchst keinen Code im Modul von Tabelle2, das kann der Code von Tabelle1 aus auch tun:

Private Sub Worksheet_Change(ByVal Target As Range)
Const Zelle = "A1"
If Target.Address = Range(Zelle).Address Then
Dim l, liste, eintr
On Error Resume Next
l = WorksheetFunction.VLookup(Target.Value, Sheets("Druckschemen").Range("A1:B32"), 2, False)
Range("A5:AJ52").Borders.LineStyle = xlContinuous
' ### NEU ###:
Sheets("Tabelle2").Range("A5:AJ52").Borders.LineStyle = xlContinuous
liste = Split(l, ",")
For Each eintr In liste
With Range("A5:AJ52").Rows(eintr).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
' ### NEU ###:
With Sheets("Tabelle2").Range("A5:AJ52").Rows(eintr).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
Next
End If
End Sub

Gruß Matthias
Anzeige
AW: Zelle für Makro-Start überwachen
25.07.2006 15:34:51
Düppi
Heureka! Matthias, genau das ist es - schade, dass man Belohnungs-Eistüten nicht per E-Mail versenden!
Gruß Düppi
AW: Zelle für Makro-Start überwachen
25.07.2006 15:36:19
Matthias
Hallo Düppi,
danke für die Rückmeldung!
schade, dass man Belohnungs-Eistüten nicht per E-Mail versenden! ...kann.
Ja, wirklich schade! ;-)
Gruß Matthias
AW: Zelle für Makro-Start überwachen
25.07.2006 15:38:14
Jan
"schade, dass man Belohnungs-Eistüten nicht per E-Mail versenden!"
Kann man, vorher aber zippen.
mfg Jan

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige