Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1864to1868
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

Worksheet_SelectionChange 2 Spalten ansp

Worksheet_SelectionChange 2 Spalten ansp
13.01.2022 18:06:40
Albert
Hallo,
es funktioniert alles bis auf:
Das ein gewünschter Wert gleichzeitig in zwei verschiedenen Zellen (FF1 und AF1) angezeigt wird.
Siehe weiter unten --> SpalteName = Range("FF:AF").Column
Danke!
MfG
Albert

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("AF4:AH8")) Is Nothing Then
Dim SpalteName As Long
Application.ScreenUpdating = False
'> Blattschutz aufheben
ActiveSheet.Unprotect
'> Zelle die geleert werden soll
Range("AF1").ClearContents
'    If Target.Cells.Count = 1 Then
Select Case Target.Row
'> Von bis Zeile
Case 4 To 10004
Select Case Target.Column
'> Klick-Bereich für Wert anzeigen
Case Range("AF4").Column To Range("AH10004").Column
'> In Spalte FF und AF soll der Wert angezeigt werden
SpalteName = Range("FF:AF").Column '--> der Wert wird aber nur in Spalte AF angezeigt
End Select
If SpalteName > 0 Then
'--> In Zeile 1 wird der Wert angezeigt --> Aus Spalte 2 wird der Wert zur Anzeige geholt
Cells(1, SpalteName).Value = Cells(Target.Row, 2).Value
End If
Case Else
End Select
End If
Application.ScreenUpdating = True
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_SelectionChange 2 Spalten ansp
13.01.2022 18:30:05
onur
Hääääh ?
Was funktioniert ?
Und vor Allem: WAS ist denn jetzt deine Frage?
AW: Worksheet_SelectionChange 2 Spalten ansp
14.01.2022 10:38:46
Albert
' Mit folgendem Befehl
SpalteName = Range("FF:AF").Column
' soll in Spalte FF und AF der Wert angezeigt werden
' der Wert wird aber nur in Spalte AF angezeigt
AW: Worksheet_SelectionChange 2 Spalten ansp
14.01.2022 11:49:53
ralf_b
1. Fehler If Not Intersect(Target, Range("AF4:AH8")) begrenzt den Aktionsbereich auf 4 Zeilen
Case 4 To 10004 macht dann so gar keinen Sinn. target.row kann nur 4,5,6,7,8 sein
2. Fehler Case Range("AF4").Column To Range("AH10004").Column
durch die Bereichseingrenzung intersect ist target.column immer in diesem Bereich . dieses Case ist unnötig
3. Fehler Range("FF:AF") ist ein Bereich , wie kommst du darauf das Range.column hier zwei Spaltennummern zurück gibt?
wenn die Einfügespalten bekannt sind, dann schreib sie doch direkt rein. Eine Ermittelung ist dann überflüssig.
Cells(1, "AF").Value = Cells(Target.Row, 2).Value
Cells(1, "AH").Value = Cells(Target.Row, 2).Value
Anzeige
AW: Worksheet_SelectionChange 2 Spalten ansp
14.01.2022 14:57:25
Albert
Danke onur und ralf_b.
Hab das so gemacht wie ralf_b geschrieben hat und nun läuft es.
Aber ich habe bitte noch eine Frage:
Wenn man in irgendwelche Zellen im zulässigen Bereich klickt soll Makro ausgeführt werden und der Blattschutz erhalten bleiben (das funktioniert eh schon).
Nun hätte ich noch zusätzlich eingebaut, dass wenn man in den Bereich "AF4:AH10004" klickt, der Blattschutz aufgehoben wird.
Aber das funktioniert nicht siehe weiter unten.
'If Not Intersect(Target, Range("AF4:AH10004")) Is Nothing Then
' ActiveSheet.Unprotect
'-->

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Makro für die Anzeige des "Kontakt Eindeutigkeitsfeldes" in Zeile 1 in Spalte "F" und "AF" bei klick auf irgendeine Zelle
'> Klick-Bereich für Wert anzeigen ist "A4:AI10004"
If Not Intersect(Target, Range("A4:AI10004")) Is Nothing Then
Dim SpalteName As Long
Application.ScreenUpdating = False
'Wenn man in diesem Bereich klickt soll Blatschutz deaktiviert werden
'und das Makro weiterhin ausgeführt werden.
Wenn ich das aktiviere wird das Makro nicht mehr ausgeführt.
'If Not Intersect(Target, Range("AF4:AH10004")) Is Nothing Then
'      ActiveSheet.Unprotect
'   Else
'Trotz Blatschutz Makro ausführen
ActiveSheet.Protect , UserInterfaceOnly:=True
'> Zelle die geleert werden soll
Range("F1:AF1").ClearContents
Select Case Target.Row
'> Von bis Zeile
Case 4 To 10004
Select Case Target.Column
End Select
'heute NEU eingefügt
Cells(1, "AF").Value = Cells(Target.Row, 2).Value
Cells(1, "F").Value = Cells(Target.Row, 2).Value
Case Else
End Select
End If
Application.ScreenUpdating = True
'    End If
End Sub

Anzeige
AW: Worksheet_SelectionChange 2 Spalten ansp
14.01.2022 21:10:18
ralf_b
ich hab das mal ein wenig bereinigt.
Zum Verständnis: Wozu die Spielerei mit dem Blattschutz? Das Makro läuft bei jeder Änderung der Zellauswahl. Das Ganze dauert nur einen Moment.
Evtl. reicht es aus das du nur bestimmte Zellbereiche sperrst.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A4:AI10004")) Is Nothing Then
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Range("F1:AF1").ClearContents
Cells(1, "AF").Value = Cells(Target.Row, 2).Value
Cells(1, "F").Value = Cells(Target.Row, 2).Value
Application.ScreenUpdating = True
ActiveSheet.Protect UserInterfaceOnly:=True
End If
End Sub

Anzeige
AW: Worksheet_SelectionChange 2 Spalten ansp
15.01.2022 15:09:52
Albert
Danke ralf_b für die Makro Vereinfachung!
Läuft schnellt als vorher.
Aber zu meinem offenen Punkt bzgl. Blattschutz aufheben des speziellen Bereiches "AF4:AH10004.
Ich habe eh nur bestimmte Zellen gesperrt.
Aber dieses Bereich ist bei den gesperrten Zellen dabei, weil da nicht unabsichtlich von anderen Personen was geändert od. gelöscht werden soll.
Deshalb habe ich für diesen Bereich "AF4:AH10004" versucht, nur bei Doppelklick den Blattschutz aufzuheben um eingaben machen zu können.
Das von dir erstellte Makro soll aber auch für diesen Bereich "AF4:AH10004" ablaufen wenn man einmal klickt.
Mein Versuch funktioniert aber leider nicht. Es läuft zwar dein Makro bei Einfachklick ab, aber bei Doppelklick wird Blattschutz nicht aufgehoben.
Siehe weiter unten ab folgender Zeile:
If Not Intersect(Target, Range("AF4:AH10004")) Is Nothing Then
ActiveSheet.Unprotect
Bitte nochmals um Hilfe.
Danke!

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("Änderung_Speichern?__Doppelklick")) Is Nothing Then
With Target
Cells(ActiveCell.Row, ActiveCell.Column).Select
End With
' Makro "Änderung_NächsteAktion_speichern" ausführen
Änderung_NächsteAktion_speichern
' Speichern
If Not Intersect(Target, Range("AF4:AH10004")) Is Nothing Then
ActiveSheet.Unprotect
ActiveWorkbook.Save
End If
End If
End Sub

Anzeige
AW: Worksheet_SelectionChange 2 Spalten ansp
15.01.2022 17:51:28
ralf_b
ich kann dir die bei diesem Zellschutz nicht helfen. Ich nutze sowas bisher nicht und werde mir das deswegen auch nicht extra anlesen.
With Target
Cells(ActiveCell.Row, ActiveCell.Column).Select
End With
aber das hier, bringt so richtig gar nichts. Target ist der Bereich, die aktive Zelle, bei der du den Doppelklick machst.
1. with - end with nutzt du hier falsch. innerhalb von with end with erleichtert man sich die Bezugsangaben zu Objekten indem man mit einem führenden Punkt den Bezug herstellt. .Cells Aber wie gesagt, hier unnötig.
2. target ist das selbe wie Activecell
3. target ist das selbe Cells(ActiveCell.Row, ActiveCell.Column)
4. die aktive Zelle muß nicht nochmal selektiert werden .select
Anzeige
AW: Worksheet_SelectionChange 2 Spalten ansp
15.01.2022 19:57:54
Albert
Danke für deine tolle Unterstützung. Hast mir sehr viel geholfen.
AW: Worksheet_SelectionChange 2 Spalten ansp
16.01.2022 12:54:57
Albert
Erledigt
danke für die Rückmeldung owt
16.01.2022 13:57:40
ralf_b

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige