Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
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
aktuelles Datum in Spalte finden
02.12.2020 08:13:39
Marco
Guten Morgen zusammen,
ich versuche schon länger, den Code passend in meine Module einzubauen und hoffe nun, dass jemand hier im Forum eine Lösung hat.
Es geht um einen Kalender der mehrere Jahre abbildet. Jedes Jahr ist in einem eigenen Sheet untergebracht. Name z.B.: "Kalender 2020"; "Kalender 2021"; usw..
Folgender Code AktuellesDatumFinden()) funktioniert, jedoch nur bis der Code SpinButton1_SpinDown() unten ausgeführt wurde. dann Stoppt er bei jedem Set mit der Notiz: Fehler-Nr.: 91, Objektvariable oder With-Blockvariable nicht festgelegt. Ich habe schon alles mir bekannte oder aus dem Netz gefundene versucht. Das auskommentierte im folgenden Code war auch ein Versuch von mir, der solange funktioniert, bis der Code SpinButton1_SpinDown() ausgeführt wurde.
Viele Grüße Marco
Sub AktuellesDatumFinden()
On Error GoTo Fehlermeldung
If InStr(ActiveSheet.Name, "Kalender " & Year(Date)) Then
Anfang:
Dim ws As Worksheet
Dim r As Range
Set ws = ActiveSheet
'Set r = Cells.Find(Date)   
Wenn ich jedoch die Namensspalten untereinander mit folgendem Code verschiebe, funktioniert der obige Code nicht mehr.
Privat Sub SpinButton1_SpinDown()
'ausgewählter Name aus Listbox in Tabelle verschieben nach rechts
Application.ScreenUpdating = False
If ListBoxVorhandenePersonen.ListIndex = -1 Then
MsgBox "Bitte Mitarbeiter auswählen", vbCritical, "Kein Eintrag in Listbox ausgewählt..."
Exit Sub
End If
'Wenn der letzte Eintrag nach unten verschoben werden soll
If ListBoxVorhandenePersonen.ListIndex = ListBoxVorhandenePersonen.ListCount - 1 Then
MsgBox "Der aktuelle und letzte Eintrag: " & Chr(10) & Chr(10) & ListBoxVorhandenePersonen.  _
_
Value & Chr(10) & Chr(10) & " Kann nicht weiter nach unten verschoben werden!", vbCritical, " _
Kein Eintrag in Listbox ausgewählt..."
Exit Sub
End If
'Verschiebebereich definieren
Dim letzteSpalte As Long
Dim letzteZeile As Long
'Hier wird die letzte Spalte der Zeile 2 ermittelt
letzteSpalte = ActiveSheet.Cells(2, 48).End(xlToLeft).Column
letzteZeile = ActiveSheet.Cells(500, 2).End(xlUp).Row
'Suchwort festlegen
Dim NamenSpalte As Range
Dim NamensSpeicher As String
Dim rng As Range
With ActiveSheet.Range("D2:AU2")
Set rng = .Find(ListBoxVorhandenePersonen.Value, LookIn:=xlValues)
End With
NamensSpeicher = rng
If Not rng Is Nothing Then
' MsgBox rng.Column
' Cells(1, rng.Column).Select
'und Spalte markieren
Range(Cells(1, rng.Column), Cells(letzteZeile, rng.Column)).Select
'Spalte nach rechts verschieben
'Range(Cells(1, rng.Column), Cells(letzteZeile, rng.Column))
Dim vntReturn As Variant
vntReturn = rng.Column
Columns(vntReturn).Cut
Columns(ActiveCell.Column + 1).Select
Columns(ActiveCell.Column + 1).Insert Shift:=xlRight
End If
'Listbox aktualisieren
Call ListboxMitarbeiterAktualisieren
'verschobenen Namen wieder markeiren
ListBoxVorhandenePersonen.Value = NamensSpeicher
Set rng = Nothing
NamensSpeicher = ""
Application.ScreenUpdating = True
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: aktuelles Datum in Spalte finden
02.12.2020 10:53:56
Rudi
Hallo,
ein Datum per Find-Methode zu finden ist sehr unsicher.
Alternative:
Sub aaa()
Dim r As Range, vntRow
vntRow = Application.Match(CLng(Date), Columns(2), 0)
If Not IsError(vntRow) Then
Set r = Cells(vntRow, 2)
Else
MsgBox "Nicht vorhanden"
End If
End Sub
Dimensionierung von Variablen solltest du immer alle am Anfang der Prozedur vornehmen. Erhöht die Übersichtlichkeit.
Gruß
Rudi
AW: aktuelles Datum in Spalte finden
02.12.2020 15:00:41
Marko
Hallo Rudi,
Klasse, dein Code funktioniert bei mir nun super.
Danke für den Hinweis mit den Variablen. Das werde ich nun berücksichtigen.
Kannst du mir denn noch erklären, warum mein ursprünglicher Code nach dem verschieben der Spalten nicht mehr funktioniert hat?
Ich Danke dir auf jeden Fall, nun kann ich das endlich abschließen :)
Allen eine frohe Vorweihnachtszeit, bleibt alle Gesund!
VG Marko
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige