Hallo zusammen,
ich habe in mein Excel-Sheet das ActiveX Steuerelement DTPicker integriert. Wie es ist, muss man, um ihn zu aktivieren, ein paar Zeilen nach unten und wieder hoch scrollen. Ich habe hier ein wenig recherchiert und habe die Idee gefunden, das Ganze über VBA zu lösen. Leider weiß ich nicht, wie ich dieses Sub in mein bereits vorhandenes VBA einfügen muss. Ich habe schon alle möglichen Varianten versucht, ohne Erfolg. Kann mir jemand helfen? Die Variante aus dem Forum siehe wie folgt aus:
Private Sub Workbook_Open()
ActiveWindow.SmallScroll Down:=30 'Scrollt das Bild etwas runter
ActiveWindow.SmallScroll Down:=-51 'Scrollt das Bild wieder hoch
End Sub
Diesen Part einfach an mein Programm unten anzuhängen funktioniert nicht. Ebensowenig, die zwei Befehlszeilen in der Mitte in eines der drei vorhanden Subs zu integrieren. Ich verstehe nicht, was ich falsch mache.
Mein Programm sieht wie folgt aus:
Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "B2" Then Call Unit
End Sub
Sub Unit()
Dim EZ As Long, LZ As Long, spalte As Long
EZ = 15
LZ = Cells(Rows.Count, "Z").End(xlUp).Offset(-1, 0).Row 'Messspalte für letzte Zeile ist die Spalte Z
If Range("B2") = "bitte wählen:" Then
spalte = 1 'Die durchgängig vorhandenen Datümer stehen in Spalte A = 1
Else
spalte = Application.Match(Range("B2").Value, Range("D11:Z11"), 0) + 3 'bei Treffer in D11 = 1 + 3 = 4 für Spalte D
End If
With Range(Cells(EZ, spalte), Cells(LZ, spalte))
.EntireRow.Hidden = False
If spalte > 1 Then 'Die durchgängig vorhandenen Datümer stehen in Spalte A = 1
If WorksheetFunction.CountBlank(.Cells) > 0 Then
.Cells.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End If
End If
End With
End Sub
Vielen Dank für Eure Hilfe. Und an dieser Stelle auch nochmals vielen Dank an Gerd für dieses tolle Programm. Meine Datei ist fast fertig.