Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1704to1708
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
Inhaltsverzeichnis

Zellinhalte auflisten

Zellinhalte auflisten
27.07.2019 12:07:27
Jenny
Hallo, ich versuche unten stehendes Makro zu erweitern, scheitere aber leider.
Bislang schreibt es die Inhalte von A3, A9, A15 usw. in Spalte B und von A5, A11, A17 usw. in Spalte C.
Es wird also immer 6 Zeilen weiter gesprungen.
Zwei Dinge möchte ich ändern.
Zum einen soll künftig nicht jede 6. sondern jede 10. Zeile genommen werden, also A3, A13, A23 usw. bzw. A5, A15, A25 usw.
Außerdem soll zusätzlich in Spalte D A7, A17, A27 usw. geschrieben werden.
Das erste bekomme ich noch hin, Step 6 in Step 10 zu ändern, aber an dem zweiten scheitere ich. Bitte helft mir.
Danke
Jenny

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Long, StartZeile As Long, EndZeile As Long, letzteLeereZeile As Long
Application.EnableEvents = False
With Sheet1
'        StartZeile = InputBox("Ab welcher Zeile soll gestartet werden?", "Abfrage1")
StartZeile = 3
ANFANG:
EndZeile = .Cells(Rows.Count, 1).End(xlUp).Row
For i = StartZeile To EndZeile Step 6
If StartZeile = 3 Then
If letzteLeereZeile = 0 Then
letzteLeereZeile = .Cells(Rows.Count, 2).End(xlUp).Row + 1
Else
letzteLeereZeile = .Cells(Rows.Count, 2).End(xlUp).Row + 1
End If
.Cells(letzteLeereZeile, 2).Value = .Cells(i, 1).Value
Else
If StartZeile = 5 Then
If letzteLeereZeile = 0 Then
letzteLeereZeile = .Cells(Rows.Count, 3).End(xlUp).Row + 1
Else
letzteLeereZeile = .Cells(Rows.Count, 3).End(xlUp).Row + 1
End If
.Cells(letzteLeereZeile, 3).Value = .Cells(i, 1).Value
End If
End If
Next i
If StartZeile = 5 Then
.Range(.Cells(1, 1), .Cells(Rows.Count, 1)).Value = ""
Else
StartZeile = 5
letzteLeereZeile = 0
GoTo ANFANG
End If
End With
Application.EnableEvents = True
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalte auflisten
27.07.2019 16:34:30
Dieter
Hallo Jenny,
leider ist mir nicht klar, was du mit diesem Programm vorhast. Vielleicht kannst du ein paar Erläuterungen und eine Beispielmappe schicken.
Ich habe dein Programm mal zu einem Worksheet_Change reduziert (du sprichst ja immer nur Sheet1 an). Es sieht dann folgendermaßen aus:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim EndZeile As Long
Dim ersteLeereZeile As Long
Dim spalte As Long
Dim StartZeile As Long
Dim zeile As Long
Application.EnableEvents = False
StartZeile = 3
EndZeile = Me.Cells(Me.Rows.Count, "A").End(xlUp).Row
For zeile = StartZeile To EndZeile Step 10
For spalte = 2 To 4
ersteLeereZeile = Me.Cells(Me.Rows.Count, spalte).End(xlUp).Row + 1
Me.Cells(ersteLeereZeile, spalte) = Me.Cells(zeile + 2 * spalte - 4, "A")
Next spalte
Next zeile
Me.Columns("A").ClearContents
Application.EnableEvents = True
End Sub
https://www.herber.de/bbs/user/131121.xlsm
Viele Grüße
Dieter
Anzeige
AW: Zellinhalte auflisten
27.07.2019 21:08:03
Jenny
Hallo Dieter,
erstmal danke für deine Mühe, was ich damit vorhabe ist simpel, ich kopiere Inhalte aus dem Internet in Spalte A, das Makro kopiert die Daten, die ich davon brauche in die Spalten B bis D und Spalte A wird wieder geleert sodass ich die nächsten Texte einfügen kann.
Aber ich muss euch etwas gestehen, ich war davon ausgegangen, dass alle der rd. 9000 Datensätze aus 10 Zeilen bestehen, vereinzelt sind es jedoch nur 8. Mit anderen Worten, wenn es nur 8 sind, kopiert sowohl mein als auch euer Makro die falschen Daten.
Da weiß ich jetzt akut noch keine Lösung, was man dem Makro mit auf dem Weg geben könnte, woran es erkennt, ob ein Datensatz aus 8 oder 10 Zeilen besteht. daher würde ich vorschlagen, ich melde mich wieder wenn mir was einfällt.
ZU euren Vorschlägen, abgesehen von dem 8 oder 10 Zeilen Problem funktionieren sie.
Zu Onurs Vorschlag, ich hätte mir nur gewünscht, dass die beiden Dinge dass das ganze automatisch beim EInfügen in Spalte A passiert statt eines Buttons und das am Ende Spalte A geleert wird, erhalten bleiben. Ansonsten macht auch dein Makro, was es soll.
Gruß und danke
Jenny
Jenny
Anzeige
AW: Zellinhalte auflisten
27.07.2019 21:09:31
Jenny
Hallo Onur,
auch dir danke für deine Mühe, Anmerkungen zu deinem Vorschlag habe ich in meine Antwort zu Dieters Beitrag gepackt.
Gruß
Jenny
warum so umständlich
27.07.2019 21:12:51
Jenny
das kommt halt davon, wenn jemand der nur mal im Studium vor 12 Jahren 3 Semester in der Theorie Java gelernt hat und ansonsten keine Programmiererfahrung hat sich mithilfe von Verstand, Foren und einem dicken Wälzer in VBA versucht.
Dann kommt sowas halt dabei heraus, irgendwie hatte ich es zum Laufen gebracht.
Gruß
Jenny
Anzeige
AW: warum so umständlich
27.07.2019 22:39:39
onur
Daß das Ganze automatisch beim EInfügen in Spalte A passieren und daß am Ende Spalte A geleert werden soll, muss ich wohl beim Lesen deiner Problembeschreibung überlesen haben.
https://www.herber.de/bbs/user/131127.xlsm
AW: warum so umständlich
28.07.2019 07:57:19
Jenny
Hallo Onur,
nimm es mir bitte nicht übel, aber ich schrieb 2 Dinge möchte ich an dem Makro ändern, das heißt für mich die anderen Funktionalitäten sollen so bleiben wie sie sind. Wenn ich gewünscht hätte dass diese Sachen aus dem Makro entfernt werden, wären das m.E. weitere Änderungen gewesen.
Gruß
Jenny
Anzeige
AW: warum so umständlich
28.07.2019 08:02:10
onur
Welche anderen Sachen denn ?
AW: warum so umständlich
28.07.2019 08:08:13
onur
Ach du meinst DEIN Makro?
Sei mir nicht böse, aber ich habe mir NICHT die Mühe gemacht, dein Makro genau durchzulesen, ich bin nach deiner Beschreibung gegangen.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige