Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
756to760
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
756to760
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
aktive Zelle am linken Rand anzeigen VBA
21.04.2006 08:32:38
MathiasW
Hallo Excel Experten,
könnt Ihr mir kurz helfen?
Ich im Modul eine Function, die mir das heute Datum auf meinem Tabellenblatt markiert. Das sieht so aus:
Function DatumFormatFinden()
Dim lngDatum As Long, zei As Long, sp As Integer
lngDatum = CLng(Date)
For zei = 132 To 5 Step -1
For sp = 26 To 2 Step -1
If IsDate(Cells(zei, sp)) Then
If CLng(Cells(zei, sp)) = lngDatum Then
Cells(zei, sp).Select
Exit Function
End If
End If
Next
Next
End Function
diese Function wird mit einem CMDButton aufgerufen und selektiert mir die nächste rechte Zelle:

Private Sub CommandButton4_Click()
DatumFormatFinden
ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
End Sub

Das läuft auch alles prima, mein Problem ist möchte dass, das heutige Datum (quasi die aktive Zelle vor dem Offset sprung) am linken Rand (am besten mittig) angezeigt wird und nicht irgendwo rechts unten oder wo anders.
Könnt Ihr mir da helfen
Gruss Mathias

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: aktive Zelle am linken Rand anzeigen VBA
21.04.2006 09:53:27
Luschi
Hallo Mathias,
mach es so:
If CLng(Cells(zei, sp)) = lngDatum Then
Cells(zei, sp).Select
ActiveWindow.ScrollRow = zei
ActiveWindow.ScrollColumn = sp
Exit Function
End If
Gruß von Luschi
aus klein-Paris
AW: aktive Zelle am linken Rand anzeigen VBA
21.04.2006 10:23:08
MathiasW
Hallo Luschi,
funktioniert super, ;-)
vielen Dank.
Mathias
PS: Weisst du vielleicht noch, wie ich ein TB gegen löschen schützen kann?
Also wenn jemand mit der rechten Maustaste auf den Registerreiter klickt und löschen auswählt, soll es nicht möglich sein das TB zu entfernen (nur das erste TB)
AW: aktive Zelle am linken Rand anzeigen VBA
21.04.2006 10:55:57
Harald
Hallo Matthias
dieses Machwerk ins betreffende Blattmodul kopieren.

Private Sub Worksheet_Activate()
Call procControlEnableDisable(847, False)
End Sub


Private Sub Worksheet_Deactivate()
Call procControlEnableDisable(847, True)
End Sub


Private Sub procControlEnableDisable(intId As Integer, bolStatus As Boolean)
Dim myCommandBar As CommandBar, myCommandBarControl As CommandBarControl
For Each myCommandBar In Application.CommandBars
Set myCommandBarControl = myCommandBar.FindControl(ID:=intId, Recursive:=True)
If Not myCommandBarControl Is Nothing Then myCommandBarControl.Enabled = bolStatus
Next
End Sub

Gruss Harald
Anzeige
AW: aktive Zelle am linken Rand anzeigen VBA
21.04.2006 12:52:20
MathiasW
Hallo Harald,
vielen Dank das funktiniert zwar super,
nur habe ich das Problem, das dass erste Blatt als Master
verwendet wird, daher soll nur das erste Blatt geschützt sein.
In meiner Datei wird dieses Blatt kopiert und unter neuem Namen
quasi dupliziert und dieses Blatt soll dann löschbar sein.
Ist diese Aufgabe lösbar?
Gruss und vielen Dank Mathias
AW: aktive Zelle am linken Rand anzeigen VBA
21.04.2006 13:06:54
Harald
Hi,
dann setz die Prozedur ins Modul "DieseArbeitsmappe"
unter
SheetActivate bzw Deactivate
und setzt den Masterblattnamen als If-Bedingung ein

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name = "Tabelle1" Then
Call procControlEnableDisable(847, False)
Else
Call procControlEnableDisable(847, True)
End If
End Sub


Private Sub procControlEnableDisable(intId As Integer, bolStatus As Boolean)
Dim myCommandBar As CommandBar, myCommandBarControl As CommandBarControl
For Each myCommandBar In Application.CommandBars
Set myCommandBarControl = myCommandBar.FindControl(ID:=intId, Recursive:=True)
If Not myCommandBarControl Is Nothing Then myCommandBarControl.Enabled = bolStatus
Next
End Sub


Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If ActiveSheet.Name = "Tabelle1" Then Call procControlEnableDisable(847, True)
End Sub

und nicht ins Blattmodul.
Gruss Harald
Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige