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.

bestimmte Zeilen durch Makro auflisten
#1
Hallo zusammen, habe leider ein für mich etwas verzwicktes Problem mit einem Makro, bei dem ich nun nicht mehr weiterkomme. Nämlich möchte ich mit einem Makro - wie im Bild unten dargestellt - nur jene Zeilen in ein neues Sheet kopieren, wo in Spalte C "TÜV" steht. Was es etwas komplizierter macht ist dass die Zellen in Spalte C verbunden sind und immer zwei Zeilen umfassen.

[
Bild bitte so als Datei hochladen: Klick mich!
]

Das Makro sollte also nur jene Zeilenpaare "ausspucken" und untereinander auflisten, wenn in Spalte C "TÜV" steht.
[
Bild bitte so als Datei hochladen: Klick mich!
]

Habe meine Makros bisher immer nur aufgezeichnet, hier komme ich damit aber leider nicht mehr weiter. Hat vielleicht jemand einen Ansatz wie ich das lösen könnte?
Antworten Top
#2
Hallo,

Zitat:Habe meine Makros bisher immer nur aufgezeichnet, hier komme ich damit aber leider nicht mehr weiter.
Hat vielleicht jemand einen Ansatz wie ich das lösen könnte?

ich helfe nicht, solange Du Verbundene Zellen benutzt. Schon gar nicht, wenn auf der Fragerseite ein Anfänger sitzt.
Trenne die Zellen, dann können wir weiterreden.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#3
Hi,

VBA ist nicht mein Gebiet ==> leider keine Hilfe möglich.

Aber:
Löse mal deine verbundenen Zellen auf und lies dir diesen Beitrag  http://www.clever-excel-forum.de/thread-142.html  durch, damit du weißt, warum ich dir das rate.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#4
Danke für die Hinweise! Habe die Verbindung der Zellen in Spalte C jetzt mal aufgehoben, habe aber leider trotzdem keinen Plan wie ich die betroffenen TÜV Zeilen mit einem Makro untereinander auflisten kann.

[
Bild bitte so als Datei hochladen: Klick mich!
]

Ergebnis sollte dann so aussehen.

[
Bild bitte so als Datei hochladen: Klick mich!
]

Wäre super dankbar wenn mir jemand auf die Sprünge helfen könnte.
Antworten Top
#5
Hallo,

Spalte C mit dem Autofilter nach TÜV filtern?

Gruß Werner
Antworten Top
#6
Hi,

muss es denn unbedingt VBA sein?

Neben dem Filtervorschlag hier noch eine Formellösung. Formel in E2 eintragen und nach rechts und unten ziehen.

Arbeitsblatt mit dem Namen 'Übersicht'
ABCDEF
1AutoFarbe/KlasseTÜVTÜV-fällig
2Auto1grünAuto2blau
3Auto1KombiAuto2Sportwagen
4Auto2blauTÜVAuto5schwarz
5Auto2SportwagenTÜVAuto5Kombi
6Auto3gelb
7Auto3Limousine
8Auto4violett
9Auto4Coupé
10Auto5schwarzTÜV
11Auto5KombiTÜV
12Auto6grau
13Auto6Bus

ZelleFormel
E2=WENNFEHLER(INDEX(A$1:A$15;AGGREGAT(15;6;ZEILE($C$2:$C$15)/($C$2:$C$15="TÜV");ZEILE()-1));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • danisound
Antworten Top
#7
Hallo,

per VBA (geht auch mit verbundenen Zellen):
Sub Makro2()
Dim rngF As Range, rngS As Range
Dim strS As String
With Columns(3)
Set rngS = .Find(What:="TÜV", After:=.Cells(.Cells.Count), LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
Set rngF = Rows(1)
If Not rngS Is Nothing Then
strS = rngS.Address
Do
Set rngF = Application.Union(rngF, rngS.EntireRow)
Set rngS = .FindNext(rngS)
Loop Until rngS.Address = strS
Set rngS = ActiveCell
Sheets("Tabelle2").Cells.Delete
rngF.Select
Selection.Copy Sheets("Tabelle2").Cells(1)
rngS.Select
End If
End With
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • danisound
Antworten Top
#8
Hey Uwe, du bist echt der Wahnsinn!! Habe das jetzt probiert und funktioniert genau so wie ich es mir gewünscht habe!!  1000 Dank, hätte ich im Leben nicht hinbekommen!!
Antworten Top
#9
Hi Uwe, das Makro funktioniert wie gesagt super solange in mindestens zwei Zeilenpaaren in Spalte C "TÜV" steht. Sobald aber nur in einem oder keinem Zeilenpaar "TÜV" steht, bekomme ich einen Laufzeitfehler 91.

Wenn in Spalte C nirgendwo "TÜV" steht, sollte wenn möglich nur die Überschrift in das neue Sheet kopiert werden. Hättest du hier vielleicht noch eine Lösung parat?
Antworten Top
#10
(14.05.2018, 13:30)WillWissen schrieb: Hi,

muss es denn unbedingt VBA sein?

Neben dem Filtervorschlag hier noch eine Formellösung. Formel in E2 eintragen und nach rechts und unten ziehen.

Das wäre eventuell auch eine Option, anschließend könnte ich ja das entsprechende Sheet mit deinen Formeln archivieren. Ein Archiv muss eben sein, deswegen dachte ich dass VBA dafür besser geeignet wäre. Über einen kleinen Umweg würde aber denke ich auch deine Methode funktionieren. Vielen Dank!
Antworten Top


Gehe zu:


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