Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1884to1888
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
Inhaltsverzeichnis

Hilfe bei VBA

Hilfe bei VBA
14.06.2022 13:19:27
Phoeni
Hall Leute,
leider beherrsche ich kein VBA und hoffe das hr mir weiter helfen könnt. https://www.herber.de/bbs/user/153552.xlsm
Mein Gedanke ist, klicke ich auf den Button der sich im oberen fixierten Bereich befindet, egal wo ich mich in der Tabelle befinde, geht der Cursor auf das letzte Datum, super wäre, wenn das Gruppierte Feld, das Datum auch gleich öffnen würde,
soll heißen, das dann alles was z.B. 29.11.2022 steht, gleich sichtbar wäre, ohne das man noch auf das "+" klicken muss. Schön wäre noch, wenn das Datum gleich soweit gescrollt werden würde das es ca. in der Mitte des Blattes erscheinen würde.
Ich danke euch für Hilfe.
Gruß Phoeni

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
show detail + scrollen
14.06.2022 14:12:40
MCO
Hallo Phoeni,
probier das mal aus

Sub goto_Datum()
Dim Datum_lz As Object
Dim zeil As Single
ActiveSheet.Outline.ShowLevels 1
Set Datum_lz = Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
Datum_lz.Rows.ShowDetail = True
zeil = Datum_lz.CurrentRegion.Rows.Count
Application.Goto Range("a" & Datum_lz.Row - 15)
Datum_lz.CurrentRegion.Select
End Sub
Gruß, MCO
AW: show detail + scrollen
14.06.2022 14:29:07
Phoeni
Irgendwie habe ich es nicht ninbekommen,
Userbild
Gruß Phoeni
AW: show detail + scrollen
14.06.2022 14:34:34
MCO
Vorraussetzung ist schon, dass in Spalte "B" was steht und auch die Gruppierung vorhanden ist, wie in deinem Beispiel...
Prüf das nochmal
Anzeige
AW: show detail + scrollen
14.06.2022 14:53:16
Phoeni
Ok, ich suche den Fehler bei mir häufig sitzt er 20cm davor.
Habe die Datei nochmal hochgeladen, ich kann aber kein Fehler finden da in "B" ja das Datum steht.
https://www.herber.de/bbs/user/153555.xlsm
DANKE
Gruß Phoeni
AW: show detail + scrollen
14.06.2022 14:59:21
{Boris}
Hi,
um auf Deine Frage zu antworten, weshalb es in einen Fehler läuft: Das gefundene Datum gehört zu keinem gruppierten Bereich.
Das könnte man quick and dirty so beheben:

Sub goto_Datum()
Dim Datum_lz As Object
Dim zeil As Single
ActiveSheet.Outline.ShowLevels 1
Set Datum_lz = Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
On Error Resume Next
Datum_lz.Rows.ShowDetail = True
On Error GoTo 0
zeil = Datum_lz.CurrentRegion.Rows.Count
Application.Goto Range("a" & Datum_lz.Row - 15)
Datum_lz.CurrentRegion.Select
End Sub
Aber schau Dir auch mal die Antwort von Nepumuk an.
VG, Boris
Anzeige
AW: Hilfe bei VBA
14.06.2022 14:55:50
Nepumuk
Hallo,
teste mal so:

Option Explicit
Public Sub Datum_suchen()
Dim vntRow As Variant
vntRow = Application.Match(CLng(Date), Columns(2))
If IsError(vntRow) Then
Call MsgBox("Datum nicht gefunden.", vbExclamation, "Hinweis")
Else
If Not Cells(vntRow, 2).EntireRow.ShowDetail Then Cells(vntRow, 2).EntireRow.ShowDetail = True
Call Application.Goto(Reference:=Cells(vntRow, 2), Scroll:=True)
End If
End Sub
Gruß
Nepumuk
AW: Hilfe bei VBA
14.06.2022 15:02:48
Phoeni
Hallo Nepumuk,
nein das ist nicht das was ich suche, erst geht die Spalte nach rechts und öffnen tut er das letzte gruppierte Datum nicht.
Gruß Phoeni
Anzeige
AW: Hilfe bei VBA
14.06.2022 15:41:19
Daniel
Hi
probiers mal mit diesem Code:

Sub Schaltfläche3_Klicken()
Dim Z2 As Long
Dim Z1 As Long
Z1 = Application.Match(WorksheetFunction.Max(Columns(2)), Columns(2), 0)
Z2 = Z1
Do Until Rows(Z2 + 1).Hidden = False
Z2 = Z2 + 1
Loop
If Z2 > Z1 + 1 Then Range(Rows(Z1), Rows(Z2)).EntireRow.Hidden = False
With ActiveWindow
.ScrollRow = Z1 - WorksheetFunction.Max(1, .VisibleRange.Rows.Count / 2 - (Z2 - Z1) / 2)
End With
End Sub
Gruß Daniel
AW: Hilfe bei VBA
14.06.2022 16:28:03
Phoeni
Hallo Daniel,
hast du den Code mal ausprobiert? Ich hatte die Datei extra vorher noch mal hochgeladen. Vielleicht kannst du mir mal wenn sie funktioniert senden?
Weil bei mir kommen immer wieder verschiedene Fehler.
DANKE
Gruß Phoeni
Anzeige
AW: Hilfe bei VBA
14.06.2022 16:45:32
Daniel
Hi
ich habe den Code in der Datei, die du als erstes hochgeladen hast, geschrieben und auch getestet.
beim mir funktioniert der Code mit deiner Datei ohne Fehler.
lade doch mal die Datei mit den Fehlern hoch, dann kann ich dir auch sagen, was du falsch gemacht hast.
Gruß Daniel
AW: Hilfe bei VBA
14.06.2022 16:26:21
Daniel
Hi
noch ne Variante, diesmal ohne Schleife.
Das geht hier so, weil in der der ausgeblendeten Zeilen das gesuchte Datum steht, also kann man auch darüber suchen ein einblenden:

Sub test()
Dim Z1 As Long
Dim Z2 As Long
With WorksheetFunction
Z1 = .Match(.Max(Columns(2)), Columns(2), 0)
Z2 = .CountIf(Columns(2), .Max(Columns(2)))
Rows(Z1).Resize(Z2).EntireRow.Hidden = False
ActiveWindow.ScrollRow = .Max(1, Z1 + Z2 / 2 - ActiveWindow.VisibleRange.Rows.Count / 2)
End With
End Sub
Gruß Daniel
Anzeige
AW: Hilfe bei VBA
14.06.2022 16:46:10
Phoeni
Ok, ich es scheint das der Code jetzt wohl funktioniert, ich muss zar zweimal klicken damit ich das Datum mittig Bildschirm habe, aber es geht wohl nicht anders.
Danke Phoeni

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige