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

Target variabel

Target variabel
12.06.2004 17:56:25
Erich
Hallo EXCEL-Freunde,
habe aus dem Forum nachstehendes Makro gebastelt, um Formeln zu schützen -
bzw. der User wird gefragt, ob er die Formel ändern will. Soweit kein Problem.
Nun suche ich eine Lösung, bei der nicht automatisch in die nächste vorgegebene
Zelle (Target(0,1)) gesprungen wird, sondern bei der die Zelle gesucht wird,
die als nächste in der Nähe keine Formel enthält.
Mit nachstehendem Makro besteht das Problem, wenn in einer Reihe mehrere Formeln
nebeneinander sind, dann wird natürlich immer die Frage aktiviert - ist dann
lästig.
Leider habe ich keine Idee, wie man eine Zelle flexibel suchen kann - ohne
Formelinhalt.
Option Explicit
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
''Die Blätter, die ausgenommen werden sollen-----------
'If Sh.Name <> "Tabelle1" And Sh.Name <> "Tabelle2" Then
' Variante 5 Zelle mit Formel schützen, Aufforderung ändern ja/nein
If Target.HasFormula Then
InMldg = MsgBox("Wollen Sie die Formel ändern", vbYesNo + vbQuestion, "Formelabfrage ?", "", 0)
If InMldg = 6 Then Exit Sub
Target.Offset(0, 1).Select
End If

'End If
errhandler:
Application.EnableEvents = True
End Sub

Besten Dank für eine Hilfe!
mfg
Erich

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Target variabel
PeterW
Hallo Erich,
die Formulierung "die als nächste in der Nähe keine Formel enthält" lässt sich nicht umsetzen - aber das weißt du ja selber.
Warum überlässt du es dem User nicht, die nächste Zelle zu wählen (Target.Offset(0, 1).Select streichen)? Um ihm die wiederholte Nachfrage zu ersparen formatiere die Formelzellen beispielsweise mit einer Hintergrundfarbe.
Allenfalls könnte ich mir eine Bereichsabfrage vorstellen in der Art:
Dim lgZeile As Long
Dim iSpalte As Integer
Dim rngC As Range
Application.EnableEvents = False
For Each rngC In Range(Cells(Target.Row, Target.Column), Cells(Target.Row + 5, Target.Column + 5))
If Not rngC.HasFormula Then
rngC.Select
Application.EnableEvents = True
Exit Sub
End If
Next
Application.EnableEvents = True
wobei natürlich zu beachten ist, dass der Code nicht in einen Fehler läuft (Spalten-/Zeilenzahl).
Gruß
Peter
Anzeige
AW: Target variabel
Erich
Hallo Peter,
besten Dank!
Ich werde mich wohl dafür entscheiden, dass ich Target....select streiche, dann kann
der User entscheiden.
Den anderen Vorschlag werde ich testen.
mfg
Erich

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige