Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1908to1912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
in einer Tabelle zur nächsten Zeile
21.11.2022 20:48:39
Thomas
Hallo, vielleicht könnt ihr mir helfen.
Ich habe eine Tabelle ab D21 mit Vorname und Nachname. Also mehrere Datensätze.
1.Frage: Was muss ich noch im Code einfügen, damit zur nächsten Zeile gesprungen wird ?Dann soll er natürlich den Datensatz wieder anzeigen.
Datensatz anzeigen, zur unteren Zeile springen, Datensatz ausgeben.......
Das müsste ja mit Offset funktionieren.
2. Frage: Wenn ich zb. bei D33 beginne, springt der Cursor immer nach unten. Kann man das irgendwie verhindern? Das ich die Tabelle durchlaufen kann, aber der obere Teil angezeigt wird.

Sub Schaltfläche1_Klicken()
Dim sVorname As String
Dim sNachname As String
Cells(21, 4).Select 'D21'
sVorname = ActiveCell.Offset(0, 0).Value
Cells(1, 2).Value = sVorname
sNachname = ActiveCell.Offset(0, 1).Value           'gehe eine Spalte nach rechts'
Cells(2, 2).Value = sNachname
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: in einer Tabelle zur nächsten Zeile
21.11.2022 21:26:53
ralf_b
nur so auf verdacht. dei aktive Zelle muß in spalte 4 (D) sein, und wird erst ab Zeile 21 durchgeblättert.

Sub Schaltfläche1_Klicken()
If Not Intersect(ActiveCell, Columns(4)) Is Nothing Then
ActiveCell.Offset(1).Select
If ActiveCell.Row >= 21 Then
Cells(1, 2).Value = ActiveCell
Cells(2, 2).Value = ActiveCell.Offset(0, 1)
End If
End If
End Sub

AW: in einer Tabelle zur nächsten Zeile
23.11.2022 13:41:46
Thomas
B2 Kdn.:
B3 Anrede:
B4 Vorname:
B5 Nachname: u.s.w

Bei B20 beginnt die Tabelle, B21 erster Kontakt
B20 Kdn.
C20 Anrede:
D20 Vorname:
E20 Nachname: u.s.w

Jetzt möchte ich das die Adressdaten von Zeile B21 bis.... oben bei B2 bis.... eingetragen werden. Mit einem Button möchte ich in der Tabelle vor und zurück navigieren.
Das funktioniert ja eigentlich ganz gut. Nur da ich schon bei Zeile 20 bin und dort der Bildschirmbereich aufhört, hüpft der Cursor immer runter, wenn ich auf den Button drücke.
Dadurch sehe ich immer meine Adresstabelle und nicht den oberen Bereich. Wie kann ich das verhindern? Habe schon gerätselt, bin aber nicht darauf gekommen.
Habe es mit Offset probiert, aber das macht genau das Gegenteil, von dem ich möchte.

Sub Schaltfläche1_Klicken()
Dim iRow As Integer
Dim iColumn As Integer
Dim sVorname As String
Dim sNachname As String
Dim sStraße As String
iRow = ActiveCell.Row
iColumn = ActiveCell.Column
ActiveCell.Offset(1, 0).Select
sVorname = ActiveCell.Offset(0, 0).Value
Cells(4, 3) = sVorname
sNachname = ActiveCell.Offset(0, 1).Value
Cells(5, 3) = sNachname
sStraße = ActiveCell.Offset(0, 2).Value
Cells(6, 3) = sStraße
End Sub

Anzeige
AW: in einer Tabelle zur nächsten Zeile
23.11.2022 15:44:08
Heli
Hi,
nur so als Idee: mach das Doch per Formel und erhöhe/verringere entweder per eigenen Buttons oder Drehfeld die Zeilennummer, dann muss nix aktiviert oder gescrollt werden...
B2: =INDEX(B20:B1000;$A$1) (wenn in A1 die Zeile ausgegeben wird)
C2: =INDEX(C20:C1000;$A$1) usw.
VG, Heli
AW: in einer Tabelle zur nächsten Zeile
24.11.2022 10:25:19
Thomas
Vielen Dank für Ihre Antwort. Nur verstehe ich nicht ganz was da gemacht wird. Das müsste ich ja dann in die Zelle reinschreiben wenn es eine Formel ist.
Könnten Sie mir ein kleinen Beispielcode schreiben, damit ich das besser verstehe?
Spalte C1 Spalte D1 Originaldaten
Spalte C2 Spalte D2 Originaldaten
Zelle A1
Zelle A2 die übermittelten Daten.
So dass man das durch CommandButton startet.
Vorteilhaft wäre es natürlich wenn es im Code stehen würde.
Anzeige
AW: in einer Tabelle zur nächsten Zeile
24.11.2022 15:01:48
ChrisL
Hi Thomas

Public lngZeile As Long

Sub vor()
If lngZeile = 0 Then lngZeile = 20
If lngZeile = Cells(Rows.Count, 2).End(xlUp).Row Then
MsgBox "Ende erreicht"
Exit Sub
End If
lngZeile = lngZeile + 1
Range("C2") = Cells(lngZeile, 2)
Range("C3") = Cells(lngZeile, 3)
Range("C4") = Cells(lngZeile, 4)
Range("C5") = Cells(lngZeile, 5)
End Sub

Sub zurueck()
If lngZeile = 0 Then lngZeile = 22
If lngZeile = 21 Then
MsgBox "Anfang erreicht"
Exit Sub
End If
lngZeile = lngZeile - 1
Range("C2") = Cells(lngZeile, 2)
Range("C3") = Cells(lngZeile, 3)
Range("C4") = Cells(lngZeile, 4)
Range("C5") = Cells(lngZeile, 5)
End Sub
cu
Chris
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige