VBA Wert aus Tabelle wiedergeben?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Läuft das denn bei Dir schon ohne die Abfrage der Nebenzelle?
DAS geht nämlich einfach mit:

If IsEmpty(Zelle.Offset(0, 1)) Then

Wobei Zelle die aktuelle Zelle in Spalte A ist.

Was genau meinst Du mit:

 Diese sollen per Knopfdruck nacheinander in einer Zelle Tabelle 1 G10 wiedergegeben werden

Meinst Du ein Liste AB G10 oder alle nacheinander z.B. mit Komma getrennt in G10 oder bei jedem Knopfdruck eine weitere immer in G10, die beim nächsten Knopfdruck gelöscht wird?

Woher ich das weiß:Beruf – IT-Administrator (i.R.)

Bei mor funktioniert noch nichts. Ich kann auch gerade nicht mehr testen, da ich nicht mehr am PC bin.

In G10 soll lediglich ein Wert wiedergegeben werden. Sprich mit Knopfdruck soll der nachfolgende Wert wiedergegeben werden. (Im Blatt 2 ist in der Tabelle eine fortlaufende Zahlenfolge.)

Erst wenn ich den Zelleninhalt lösche, dann soll bei nächsten Knopfdruck die nächste Zahl folgen. In G10 soll somit lediglich ein Wert stehen.

Hoffe es ist verständlicher.

1
@RobinM66

Das wird schwierig. Wie willst Du z,B. wissen, wann der nächste Knopfdruck wieder den ersten Wert anzeigt. Oder Du hast abgebrochen und willst wieder von vorne anfangen. Was spricht gegen eine Liste der Werte untereinander? DIE würde so funktionieren:

Private Sub CommandButton1_Click()
Dim Counter As Integer
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = Sheets("Tabelle2").Range("A3:A50")

ActiveSheet.Range("G10:G60").ClearContents
For Each Zelle In Bereich
  If IsEmpty(Zelle.Offset(0, 1)) Then
    ActiveSheet.Range("G10").Offset(Counter, 0).Value = Zelle.Value
    Counter = Counter + 1
  End If
Next Zelle
End Sub

P,S.:
Eine Möglichkeit sehe ich gerade, da Du schreibst:

Im Blatt 2 ist in der Tabelle eine fortlaufende Zahlenfolge.)

Das heißt, in A3:A50 sind die Werte aufsteigend sortiert. Dann könnte man DAMIT arbeiten und sich jeweils auf den aktuellen Wert in G10 beziehen und den nächst größeren ohne Eintrag in B finden. Teste mal:

Private Sub CommandButton1_Click()
Dim Counter As Integer
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = Sheets("Tabelle2").Range("A3:A50")

For Each Zelle In Bereich
  If IsEmpty(Zelle.Offset(0, 1)) Then
    If Zelle.Value > ActiveSheet.Range("G10").Value Then
      ActiveSheet.Range("G10").Offset(Counter, 0).Value = Zelle.Value
      Exit For
    End If
  End If
Next Zelle
End Sub

Das sollte bei jedem Knopfdruck den nächsten Wert anzeigen.
Wenn der höchste/ letzte Wert erreicht ist, bleibt der einfach immer stehen.
Um neu zu starten einfach die Zelle G10 löschen.

Test mal ausführlich und sage, wenn ich etwas falsch verstanden habe.

1
@Oubyi

Guten Tag,

funktioniert alles wie ich es mir vorgestellt haben. Dankeschön

1
@RobinM66

Gern geschehen 😊.
Freut mich, dass ich helfen konnte.

1

Danke fürs

1

Was möchtest Du wissen?