Herbers Excel-Forum - das Archiv

VBA anpassen

Bild

Betrifft: VBA anpassen
von: Alyssia Mc Kay
Geschrieben am: 24.09.2003 10:09:14
Hallo Experten

Hab diesen Code von Hajo's Website runtergeladen.
Nun möchte ich das Makro so anpassen, dass beim anclicken einer Zelle mit
Formel, der Cursor nicht auf die letzte aktive Zelle springt, sondern
immer auf Zelle M9.

Eigentlich keine grosse Sache, doch irgendwie schaff ich's nicht.

Option Explicit
Dim StAdresse As String

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'   erstellt von Hajo.Ziplies@web.de 16.09.03
' http://home.media-n.de/ziplies/
'   Formel dürfen nicht geändert werde
'   sollen Formel geändert werden sind diese einzeln auszuwählen
'   wird ein Zelle mit Formel ausgewählt wird der zuletzt gewählte Bereich markiert
Dim RaZelle As Range
Dim InMldg As Integer
For Each RaZelle In Range(Target.Address)
'      es dürfen keine Zellen mit Formeln ausgewählt werden
If RaZelle.HasFormula Then
'            Diesen Teil reinnehmen falls formeln geändert werden dürfen
'            InMldg = MsgBox("Wollen Sie die Formel ändern", vbYesNo + vbQuestion, "Formelabfrage ?", "", 0)
'            If InMldg = 6 Then Exit Sub
Application.EnableEvents = False
If StAdresse <> "" Then
Range(StAdresse).Select
Application.EnableEvents = True
Exit For
Else
If RaZelle.Column < 256 Then
RaZelle.Offset(0, 1).Select
Else
RaZelle.Offset(0, -1).Select
End If
Application.EnableEvents = True
Exit For
End If
End If
Next RaZelle
StAdresse = Selection.Address
End Sub


Vielen Dank schon mal.

regards
Alyssia
Bild

Betrifft: AW: VBA anpassen
von: Holger Levetzow
Geschrieben am: 24.09.2003 10:27:18
versuche:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'   erstellt von Hajo.Ziplies@web.de 16.09.03
' http://home.media-n.de/ziplies/
'   Formel dürfen nicht geändert werde
'   sollen Formel geändert werden sind diese einzeln auszuwählen
'   wird ein Zelle mit Formel ausgewählt wird der zuletzt gewählte Bereich markiert
Dim RaZelle As Range
Dim InMldg As Integer
Dim StAdresse As String
StAdresse = "M9"
For Each RaZelle In Range(Target.Address)
'      es dürfen keine Zellen mit Formeln ausgewählt werden
If RaZelle.HasFormula Then
'            Diesen Teil reinnehmen falls formeln geändert werden dürfen
'            InMldg = MsgBox("Wollen Sie die Formel ändern", vbYesNo + vbQuestion, "Formelabfrage ?", "", 0)
'            If InMldg = 6 Then Exit Sub
Application.EnableEvents = False
If StAdresse <> "" Then
Range(StAdresse).Select
Application.EnableEvents = True
Exit For
Else
If RaZelle.Column < 256 Then
RaZelle.Offset(0, 1).Select
Else
RaZelle.Offset(0, -1).Select
End If
Application.EnableEvents = True
Exit For
End If
End If
Next RaZelle
End Sub

Holger
Bild

Betrifft: AW: it works
von: Alyssia Mc Kay
Geschrieben am: 24.09.2003 10:41:36
Hi Holger

Vielen Dank für Deine Hilfe,
es läuft einwandfrei.

Gruss Alyssia
 Bild
Excel-Beispiele zum Thema " VBA anpassen"
Druckseite anpassen Spaltenbreite anpassen
UserForm an Excel-Fenster anpassen Grafiken an eine Seite anpassen
Bilder in UserForm und Bildgröße anpassen Tagesliste eines Monats exakt anpassen
Tages-ComboBox einer UserForm an den ausgewählten Monat anpassen Zeilenhöhe bei verbundenen Zellen anpassen
Anpassen-Dialog über VBA aufrufen Spaltenbreiten der nicht ausgeblendeten Spalten anpassen