VBA Steuerelement vorheriger Wert aus Tabelle
#1
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?
Top
#2
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
Top
#3
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
Top
#4
Hi


.xlsm   spinButton.xlsm (Größe: 21,26 KB / Downloads: 6)

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • deschroe
Top
#5
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
Top
#6
Hi

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

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • deschroe
Top
#7
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
Top
#8
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
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste