Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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?
Antworten 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
Antworten 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
Antworten 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
Antworten 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
Antworten 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
Antworten 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
Antworten 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
Antworten Top


Gehe zu:


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