Live-Forum - Die aktuellen Beiträge
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
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


Hallo zusammen,
wie bekomme ich es hin, in eine Zelle "7 a" (7 Leerzeichen a) zu schreiben? Excel macht mir dann immer 7:00 AM daraus oder 0,29...
Danke
Anzeige

Guten Tag zusammen!
Bitte helft mir bei folgendem Problem:
In einer Userform habe ich eine ganze Reihe Textboxen, in die zum größten Teil Zahlen eingegeben werden.
Nun ist ja bekannt, dass beim Schreiben in Zellen der Inhalt der Textboxen als Text interpretiert wird. Mit der Anweisu...

Guten Tag zusammen!
Bitte helft mir bei folgendem Problem:
In einer Userform habe ich eine ganze Reihe Textboxen, in die zum größten Teil Zahlen eingegeben werden.
Nun ist ja bekannt, dass beim Schreiben in Zellen der Inhalt der Textboxen als Text interpretiert wird. Mit der Anweisu...
Anzeige

Halli Hallo,
ich bin ziemlicher Neuling in VBA. Daher würde ich euch bitten mir bei meiner Fragestellung zu helfen und zwar wie folgt: Ich möchte aus einer Tabelle aller Zellen kopieren, bis der Wert einer Zelle 0 annimmt. Diesen bestimten Bereich möchte ich in einer neuen Datei abspeichern...

hallo,
ich muß eine liste erstellen. die werte unten will ich nicht immer eingeben müssen, sondern nur dort wo ein wert stehen soll ein x machen. excel soll mir dann für jedes x den wert aus der zeile 2 der gleichen spalte eintragen. mache ich in eine zelle 2 x, dann muß der wert auch 2 mal...

Hi Leute
Ich habe hier diesen netten VBA Code geschrieben und leider wie solls auch anders sein kommt dauernd eine Fehlermeldung :)
CODE:
rowbeforeinteger = 2
Dim text As String
text = "=IF(" & epsoldcolumn & rowbeforeinteger & "=""x"";1;0)+IF(" & emailsoldco...
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige