MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 17.01.2018, 17:17   #1
stephansnet
Neuer Benutzer
Neuer Benutzer
Standard Excel2007 - Daten durchblättern und ändern

Hallo,

ich brauche einmal n Anstoß.
Bisher habe ich eine UF erstellt, wo bereits einige Daten erfolgreich in die nächste Freie Zeile übertragen werden.
Nun öffnet sich über ein Command-Button eine zweite UF (das funktioniert natürlich)
in UF gibt es den Button "vorheriger Eintrag". Wenn man auf en Button klickt soll der letzte Eintrag angezeigt werden.
Das habe ich hinbekommen:

Code:

Private Sub prev_Click()
KDT1.Text = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Text
datum1.Text = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Text
zeit1.Text = ActiveSheet.Cells(Rows.Count, 5).End(xlUp).Text
nr1.Text = ActiveSheet.Cells(Rows.Count, 6).End(xlUp).Text
anzahl1.Text = ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Text
grund1.Text = ActiveSheet.Cells(Rows.Count, 8).End(xlUp).Text
filter1.Text = ActiveSheet.Cells(Rows.Count, 9).End(xlUp).Text
End Sub
Wenn man nun allerdings nochmal auf den Button klickt soll der Datensatz davor angezeigt werden. Und genau hier komme ich nicht weiter. Wie kann ich die einzelnen Zeilen sozusagen "durchblättern"?
Später will ich dann den ausgewählten Datensatz ändern können über den Button "Daten ändern" in die ausgewählte Zeile ändern. Soweit bin ich noch lange nicht, da ich wie gesagt bereits an erstem scheitere.

Kann mir hier jemand einen Anstoß geben?

Freue mich auf Feedback.

Ich nutze übrigens Excel 2007, falls das von Relevanz sein sollte...

Viele Grüße
Stephan
stephansnet ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.01.2018, 17:42   #2
Uwi63
MOF User
MOF User
Standard

Hallo Stephan,
du benötigst eine Variable mit der du rechnen kannst, z.B. so:
Code:

'im Deklarationsbereich deiner UF
Dim lngZ As Long

Private Sub CommandButton1_Click()
'bei deinem Button "vorheriger Eintrag"
With ActiveSheet
    lngZ = .Cells(.Rows.Count, 1).End(xlUp) 'letzte Zeile ermitteln
    
    KDT1.Text = .Cells(lngZ, 1).Text
    datum1.Text = .Cells(lngZ, 3).Text
    zeit1.Text = .Cells(lngZ, 5).Text
    nr1.Text = .Cells(lngZ, 6).Text
    anzahl1.Text = .Cells(lngZ, 7).Text
    grund1.Text = .Cells(lngZ, 8).Text
    filter1.Text = .Cells(lngZ, 9).Text
End With
End Sub

Private Sub prev_Click()
If lngZ > 1 Then lngZ = lngZ - 1     'mit jedem Klick 1 abziehen (kleiner als 1 geht nicht)
With ActiveSheet
    KDT1.Text = .Cells(lngZ, 1).Text
    datum1.Text = .Cells(lngZ, 3).Text
    zeit1.Text = .Cells(lngZ, 5).Text
    nr1.Text = .Cells(lngZ, 6).Text
    anzahl1.Text = .Cells(lngZ, 7).Text
    grund1.Text = .Cells(lngZ, 8).Text
    filter1.Text = .Cells(lngZ, 9).Text
End With
End Sub

__________________

Gruß
Uwe


Feedback? Aber selbstverständlich
PS: Bei Pfadangaben wird der Backslash von der Forensoftware gefressen (hier zum Nachlesen)
Lösung bis dahin: Statt einem Backslash bitte den Backslash 2x nacheinander schreiben, damit bleibt ein Backslash stehen.
Uwi63 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.01.2018, 09:43   #3
stephansnet
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Uwe,

danke für das schnelle Feedback.

Leider erhalte ich eine Fehlermeldung:
Laufzeitfehler 1004: Anwendungs- oder objekdefinierter Fehler

Den Grund verstehe ich allerdings nicht, da die Objekte alle richtig benannt sind...
stephansnet ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.01.2018, 11:20   #4
Uwi63
MOF User
MOF User
Standard

Hallo Stephan,
das kann ich nicht nachvollziehen. prinzipiell soolte es gehen.
Poste mal den gesamten Code deiner Userform.

__________________

Gruß
Uwe


Feedback? Aber selbstverständlich
PS: Bei Pfadangaben wird der Backslash von der Forensoftware gefressen (hier zum Nachlesen)
Lösung bis dahin: Statt einem Backslash bitte den Backslash 2x nacheinander schreiben, damit bleibt ein Backslash stehen.
Uwi63 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.01.2018, 11:33   #5
stephansnet
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hi Uwe,

ich habe erstmal deinen Code komplett genutzt um den zu verstehen und um dann weitere schritte (ausgewählte daten bearbeiten und in ausgewählte zell überschreiben) zu erarbeiten

Code:

'im Deklarationsbereich deiner UF
Dim lngZ As Long

Private Sub CommandButton1_Click()
'bei deinem Button "vorheriger Eintrag"
With ActiveSheet
    lngZ = .Cells(.Rows.Count, 1).End(xlUp) 'letzte Zeile ermitteln
    
    KDT1.Text = .Cells(lngZ, 1).Text
    datum1.Text = .Cells(lngZ, 3).Text
    zeit1.Text = .Cells(lngZ, 5).Text
    nr1.Text = .Cells(lngZ, 6).Text
    anzahl1.Text = .Cells(lngZ, 7).Text
    grund1.Text = .Cells(lngZ, 8).Text
    filter1.Text = .Cells(lngZ, 9).Text
End With
End Sub

Private Sub prev_Click()
If lngZ > 1 Then lngZ = lngZ - 1     'mit jedem Klick 1 abziehen (kleiner als 1 geht nicht)
With ActiveSheet
    KDT1.Text = .Cells(lngZ, 1).Text
    datum1.Text = .Cells(lngZ, 3).Text
    zeit1.Text = .Cells(lngZ, 5).Text
    nr1.Text = .Cells(lngZ, 6).Text
    anzahl1.Text = .Cells(lngZ, 7).Text
    grund1.Text = .Cells(lngZ, 8).Text
    filter1.Text = .Cells(lngZ, 9).Text
End With
End Sub
Anbei auch Screenshot von der UF, wobei ich hier einmal die Schaltflächen beschriftet habe
Angehängte Grafiken
Dateityp: png UF.PNG (17,2 KB, 3x aufgerufen)
stephansnet ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.01.2018, 12:37   #6
Uwi63
MOF User
MOF User
Standard

Hallo,
du hast ja auch 2 Comboboxen dabei
Da geht das dann wohl nicht, die müssen vorher schon befüllt werden und können dann per ListIndex bestimmt werden.
Teste mal so:
Code:

Option Explicit
'im Deklarationsbereich deiner UF
Dim lngZ As Long

Private Sub UserForm_Initialize()
With ActiveSheet
    lngZ = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile ermitteln
        KDT1.List = .Range(.Cells(2, 1), .Cells(lngZ, 1)).Value
        filter1.List = .Range(.Cells(2, 9), .Cells(lngZ, 9)).Value
    End With
End Sub

Private Sub CommandButton1_Click()
'bei deinem Button "vorheriger Eintrag"
With ActiveSheet
    KDT1.ListIndex = lngZ - 2
    filter1.ListIndex = lngZ - 2
    datum1 = .Cells(lngZ, 3).Text
    zeit1 = .Cells(lngZ, 5).Text
    nr1 = .Cells(lngZ, 6).Text
    anzahl = .Cells(lngZ, 7).Text
    grund1 = .Cells(lngZ, 8).Text
End With
End Sub

Private Sub prev_Click()
If lngZ > 1 Then lngZ = lngZ - 1     'mit jedem Klick 1 abziehen (kleiner als 1 geht nicht)
With ActiveSheet
    KDT1.ListIndex = lngZ - 2
    filter1.ListIndex = lngZ - 2
    datum1 = .Cells(lngZ, 3).Text
    zeit1 = .Cells(lngZ, 5).Text
    nr1 = .Cells(lngZ, 6).Text
    anzahl = .Cells(lngZ, 7).Text
    grund1 = .Cells(lngZ, 8).Text
End With
End Sub

__________________

Gruß
Uwe


Feedback? Aber selbstverständlich
PS: Bei Pfadangaben wird der Backslash von der Forensoftware gefressen (hier zum Nachlesen)
Lösung bis dahin: Statt einem Backslash bitte den Backslash 2x nacheinander schreiben, damit bleibt ein Backslash stehen.
Uwi63 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.01.2018, 15:12   #7
stephansnet
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Jetzt steh ich aber voll auf dem Schlauch,

beim öffnen der UserForm kommt jetzt Laufzeitfehler 70...

Den Code habe ich unverändert kopiert, dann lässt sich die Userform nicht mehr öffnen...
stephansnet ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.01.2018, 17:47   #8
Uwi63
MOF User
MOF User
Standard

Sorry, kann es nicht nachvollziehen, bei mir läufts (siehe Beispielmappe)

Falls du es nicht hinbekommst, lade deine Datei hoch ...
Angehängte Dateien
Dateityp: xlsm stephansnet - Daten durchblättern und ändern.xlsm (25,5 KB, 3x aufgerufen)

__________________

Gruß
Uwe


Feedback? Aber selbstverständlich
PS: Bei Pfadangaben wird der Backslash von der Forensoftware gefressen (hier zum Nachlesen)
Lösung bis dahin: Statt einem Backslash bitte den Backslash 2x nacheinander schreiben, damit bleibt ein Backslash stehen.
Uwi63 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 19.01.2018, 09:21   #9
stephansnet
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hi, danke für die Beispieldatei.

Dadurch habe ich meinen Fehler gefunden... Ganz blöd ist der Fehler auch.

es hat einfach das
Code:

Me.
gefehlt...

Jetzt klappt das durchblättern und versuche mich mal an den weiteren Schritten.

Vielen Dank für die Hilfe.

Gruß
Stephan
stephansnet ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:53 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.