Clever-Excel-Forum

Normale Version: VBA Steuerelement vorheriger Wert aus Tabelle
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe mit Hilfe den folgenden Code erstellt, bei dem ich immer bei Klick auf das Steuerelement den nächsten Wert aus einer Tabelle erhalte.

Option Explicit

Sub MakroNext()
  Static lngZ As Long
  If lngZ = -1 Then
    If MsgBox("Soll wieder von vorne begonnen werden?", vbYesNo + vbQuestion) = vbYes Then
      lngZ = lngZ = 0
    Else
      Exit Sub
    End If
  End If
  lngZ = lngZ + 1
  Worksheets("Bestand").Range("B2").Value = Worksheets("Bestellung").Cells(lngZ, 2).Value
  If Worksheets("Bestellung").Cells(lngZ + 1, 2) = "" Then
    MsgBox "Das Ende ist erreicht.", vbInformation
    lngZ = -1
  End If
  Range("A1").Select
    Selection.ClearContents
End Sub

Nun möchte ich den Code allerdings so abändern, dass der vorherige Wert angezeigt wird.

Müsste ich hierfür lediglich aus dem +1 überall ein -1 machen?
Hi

ungetestet
Code:
Sub MakroNext()
  Static lngZ As Long
  If lngZ = -1 Then
    If MsgBox("Soll wieder von vorne begonnen werden?", vbYesNo + vbQuestion) = vbYes Then
      lngZ = Worksheets("Bestellung").Cells(Rows.Count, 2).End(xlUp).Row + 1
    Else
      Exit Sub
    End If
  End If
  lngZ = lngZ - 1
  Worksheets("Bestand").Range("B2").Value = Worksheets("Bestellung").Cells(lngZ, 2).Value
  If lngZ = 1 Then
    MsgBox "Das Ende ist erreicht.", vbInformation
    lngZ = -1
  End If
  Range("A1").Select
    Selection.ClearContents
End Sub

Gruß Elex

PS. Oder mach es mit einen SpinButton für Vor und Rückwärts
Hallo,

leider bekomme ich noch einen Fehler an der folgenden Stelle:

  Worksheets("Bestand").Range("B2").Value = Worksheets("Bestellung").Cells(lngZ, 2).Value

Im Prinzip brauche ich diese ganzen Zusätze von vorne beginnen oder das Ende ist erreicht gar nicht.

Es soll einfach nur die Möglichkeit bestehen, den vorherigen Wert aus der Tabelle anzuzeigen.

Ein Spin-Button ist mir völlig neu.

DAnke schon einmal für deine Antwort
Hi

[attachment=23395]

Gruß Elex
Hallo Elex,

ganz lieben Dank.
Das ist tatsächlich genau das, wonach ich gesucht habe.

Würde ich das ganze auch einfach als zusätzliches Modul einfügen und den Code kopieren?
Ich sehe bei dir, es ist bei dem Tabellenblatt hinterlegt.

Ist der Spinbutton unter Entwicklertools-Einfügen-Formularsteuerelemente-Drehfeld?

Danke
Hi

Code in das Modul(Tabellenblatt)
Spinbutton unter Entwicklertools-Einfügen-Formularsteuerelemente-Drehfeld? -> Active X(Drehfeld)

Gruß Elex
Ich kriege es leider noch nicht hin.
TUt mir leid.
Das Thema ist für mich absolut neu.
Sobald ich das Active X Steuerelement einfüge erhalten ich folgende Formel:
=EINBETTEN("Forms.SpinButton.1";"")

In deiner Beispieldatei hast du den Spinbutton bereits verknüpft.
Bei mir funktioniert es leider nicht.

Was mache ich falsch.

Vielen Dank
Hallo Elex,

ich habe die Datei einmal gespeichert und wieder geöffnet.
Jetzt funktioniert es.

Das Problem ist häufig vor dem Bildschirm.

Nochmals tausend Dank für die Hilfe.

Ganz tolle Sache