27.09.2017, 09:51
Hallo zusammen,
ich habe ein Problem bei dem ich absolut nicht weiter komme, weil ich nicht weiß wie ich es lösen kann:
Ich habe ein Excel Blatt, das unterschiedliche Überschriften besitzt, wie beispielsweise Alex, Bibi und Caesar
Alex, Bibi und Caesar können in unterschiedlichen Zeilen stehen, die Spalte wo sie stehen ist aber immer A.
Unter Alex, Bibi und Caesar stehen ab der siebten Zeile immer (unterschiedlich viele) Positionen in den Spalten A-D die ich kopieren und in einem anderen Blatt einfügen möchte. Sobald die Positionen aufhören kommt immer erst eine Leerzeile und anschließend die nächste Überschrift
Ihr könnt Euch das wie folgt vorstellen:
[u][b][img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]
Meine Idee war nun wie folgt:
Ich weiß das der für mich interessante Inhalt (die Leistungspoisitionen und Stückzahlen immer in der siebten Spalte unter Alex, Bibi und Caesar stehen. Also suche ich per str_SuchString = "Alex" die entsprechende Überschrift und springe anschließend perActiveCell.Offset(7, 0).Select in die entsprechende erste interessante Zelle (hier A10).
Mein Problem ist aber, dass die Leistungspositionen unterschiedlich viele sind, da das Blatt in dem ich arbeite automatisch erstellt wird. Sprich die Leistungspositionen variieren. Gut ist aber, dass die Überschriften einzigartig sind und der Aufbau auch. Sprich in der siebten Zeile unter der entsprechenden Überschrift steht immer die erste Leistungsposition. Und nach der letzten Position kommt immer eine Leerzeile. Aber wie kann ich nach diesen (für mich interessanten) Bereich eingrenzen? und kopieren:
Was ich bis jetzt schon geschriebne habe ist folgendes:
Bis hierhin macht der Code auch, was er machen soll. Aber wie ich habe keine Ahnung wie ich weiter machen kann
Vielen Dank vorab schon mal, für Eure Hilfe!
ich habe ein Problem bei dem ich absolut nicht weiter komme, weil ich nicht weiß wie ich es lösen kann:
Ich habe ein Excel Blatt, das unterschiedliche Überschriften besitzt, wie beispielsweise Alex, Bibi und Caesar
Alex, Bibi und Caesar können in unterschiedlichen Zeilen stehen, die Spalte wo sie stehen ist aber immer A.
Unter Alex, Bibi und Caesar stehen ab der siebten Zeile immer (unterschiedlich viele) Positionen in den Spalten A-D die ich kopieren und in einem anderen Blatt einfügen möchte. Sobald die Positionen aufhören kommt immer erst eine Leerzeile und anschließend die nächste Überschrift
Ihr könnt Euch das wie folgt vorstellen:
[u][b][img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]
Meine Idee war nun wie folgt:
Ich weiß das der für mich interessante Inhalt (die Leistungspoisitionen und Stückzahlen immer in der siebten Spalte unter Alex, Bibi und Caesar stehen. Also suche ich per str_SuchString = "Alex" die entsprechende Überschrift und springe anschließend perActiveCell.Offset(7, 0).Select in die entsprechende erste interessante Zelle (hier A10).
Mein Problem ist aber, dass die Leistungspositionen unterschiedlich viele sind, da das Blatt in dem ich arbeite automatisch erstellt wird. Sprich die Leistungspositionen variieren. Gut ist aber, dass die Überschriften einzigartig sind und der Aufbau auch. Sprich in der siebten Zeile unter der entsprechenden Überschrift steht immer die erste Leistungsposition. Und nach der letzten Position kommt immer eine Leerzeile. Aber wie kann ich nach diesen (für mich interessanten) Bereich eingrenzen? und kopieren:
Was ich bis jetzt schon geschriebne habe ist folgendes:
Code:
Sub Test3()
'In dieses Blatt, möchte ich später meinen Inhalt kopieren
Dim wsNew As Worksheet
Set wsNew = Worksheets.Add
With wsNew
.Name = "Übersicht"
.Move after:=Sheets(Sheets.Count)
End With
Set wsNew = Nothing
'In diesem Blatt stehen die für mich interessanten Informationen
Worksheets("Leistungspositionen").Activate
Dim str_SuchString As String
Dim Counter1 As Integer
Dim Counter2 As Integer
'Überschrift Alex suchen
str_SuchString = "Alex"
For Counter1 = 1 To ActiveSheet.Cells.SpecialCells(xlLastCell).Column
For Counter2 = 1 To ActiveSheet.Cells.SpecialCells(xlLastCell).Row
If Cells(Counter2, Counter1).Value = str_SuchString Then
Cells(Counter2, Counter1).Select
End If
Next
Next
'In das Feld der ersten Leistungsposition springen und dieses aktivieren
ActiveCell.Offset(7, 0).Select
Bis hierhin macht der Code auch, was er machen soll. Aber wie ich habe keine Ahnung wie ich weiter machen kann
Vielen Dank vorab schon mal, für Eure Hilfe!