Excel: wie kann ich wertebereiche auflösen

ich habe eine tabelle mit drei spalten und vielen Zeilen.
Spalte a = name
spalte b = wertebereich von
spalte c = wertebereich bis

Nun möchte ich für jeden Wert innerhalb des Wertebereiches von / bis eine separate Zeile.

Beispiel:
Spalte a = Heinz
Spalte b = 5
Spalte c = 10

Ergebnis sollten 6 Zeilen sein.

  1. Zeile Spalte a = Heinz, spalte b = 5
  2. Zeile Spalte a = Heinz, spalte b = 6
  3. Zeile Spalte a = Heinz, spalte b = 7
  4. Zeile Spalte a = Heinz, spalte b = 10

Gibe es hierzu eine Funktion?
Oder Makro mit Hilfe dessen man dieses Problem lösen kann

Hallo
Nein, ab Stange kenne ich da keine Funktion. Mit dem Makro wäre es aber möglich.
Grüsse Sebastian

Hast schon den filter ausprobiert?

Hallo Thomas,

da kann ich leider nicht helfen, ich verstehe die Frage nicht.

Gruß Hugo

Hallo Sebastian,
danke für die Antwort.
Kannst Du mir solch ein Makro erstellen - bin da leider nicht versiert genug!

Hallo Hugo,
danke für die Antwort. Ich hoffe dass mir Sebastian helfen kann.

Hallo Manfred,
mit Filter komme ich nicht weiter. Ich möchte ja weitere Zeilen erzeugen - für jeden Wert des Bereiches zwischen Spalte b und c eine weitere Zeile.

Hallo!

Mit Makro könnte ich das Problem lösen, wenn du noch Hilfe brauchst.
Dazu sag mir doch bitte noch, wohin genau die Ergebnisse geschrieben werden sollen. Sprich auf ein anderes Tabellenblatt oder unter die bestehende?!?
Und in welche Spalten welche Werte!

Gruß
Ralf

===================

Hallo Ralf,
danke für die Nachricht.
Am schönsten wäre es wenn die Ergebnisse in ein neues Tabellenblatt geschrieben würden damit die Originaldaten erhalten bleiben.
Die Spalten sollten identisch befüllt werden wie im Original-Datenblat.
Also:
Spalte a = name
spalte b = wertebereich von
spalte c = nicht nötig denn wir haben ja einzelne Zeilen pro Wert.

Was evtl. noch wichtig ist- ich habe gerade gesehen dass ich auch Wertebereiche 6A1 - 6A8 habe (nicht nur Zahlen) - nicht sehr viele aber dennoch einige. Kann man das auch berücksichtigen?
Hier wären dann die einzelnen Zeilen für die Werte 6A1, 6A2, 6A3 …6A8 einzutragen.
Wenn nicht möglich muss ich das eben händisch erledigen.

Vielen Dank schon im Voraus

Thomas

Hallo!
das mit dem 6A1 geht auch grundsätzlich.
wenn ich den string „6A1“ von rechts betrachte, würde ich die zahl nehmen, die bis zum vorkommen des ersten buchstaben von rechts, dargestellt wird
Bsp:
6A1 = 1
6A8 = 8
6ac12 = 12

und dann könnte ich natürlich auch den bereich wie bei nur zahlen darstellen!
kann es auch vorkommen, dass die bereiche vertauscht sind?
Spalte B = 8
Spalte C = 1

und es sollen trotzdem alle werte von 1 bis 8 aufgelistet werden?

falls es dir möglich wäre, mir deine liste als xls-datei zukommen zu lassen, dann schick sie bitte an [email protected]
dann kann ich alle eventualitäten besser beachten!
gruß
ralf

=======================

Hallo

hier findest den vba code um tabelle zu durchsuchen.
tabelle durch suchen

wenn das nicht das passende war, hier findest ne mänge
google

hier findest den code um zellen einfügen
zeilen einfügen

wenn das nicht das passende war, hier findest ne mänge
google zeilen einfügen

Wohl eher nicht, da es mir einfach zuviel Zeit raubt.
Aber der Ansatz kann ich Dir mal geben.
Du musst zwei For next schleifen haben:
row=1
For i= 1 to 100
Anfang = tabelle1.cells(i,2)
For l = Anfang to tabelle1.cells(i,3)
tabelle1.cells(row,5) = tabelle1.cells(i,1)
tabelle1.cells(row,6) = tabelle1.cells(i,2)
tabelle1.cells(row,7) = l
row=row+1
next l
next i

Grüsse Sebastian

Hallo Sebastian,
danke für die Antwort.
Kannst Du mir solch ein Makro erstellen - bin da leider nicht
versiert genug!

es ist eine Schleife for i= b … c do

ich würde es in VBA Programmieren,

Gruss

danke für die Info,
ich hatte bereits Glück denn Ralf konnte mir vorzüglich helfen

Hallo Thomas,

hier ein entsprechendes Makro.
Die neu Liste wird dabei in einer neuen Arbeitsmappe erstellt.

Gruß
Franz

Sub AufbereitenDaten()
 Dim wksQ As Worksheet
 Dim wksZ As Worksheet
 Dim ZeileQ As Long
 Dim ZeileZ As Long
 Dim Start As Long, Ende As Long, Zaehler As Long

 'Tabellenblatt mit den zu verarbeitenden Werten
 Set wksQ = ActiveSheet

 Application.ScreenUpdating = False
 'Tabellenblatt für neue Liste anlegen
 Workbooks.Add Template:=xlWBATWorksheet
 Set wksZ = ActiveWorkbook.Sheets(1)

 'Spaltentitel in neuer Liste
 ZeileZ = 1
 wksZ.Cells(ZeileZ, 1).Value = "Name"
 wksZ.Cells(ZeileZ, 2).Value = "Wert"

 'Zeilen in Liste ab Zeile 2 bis zum Ende der Liste abarbeiten
 With wksQ
 For ZeileQ = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
 'Zählerwerte von Start- bis Endwert abarbeiten
 For Zaehler = .Cells(ZeileQ, 2).Value To .Cells(ZeileQ, 3).Value
 ZeileZ = ZeileZ + 1
 wksZ.Cells(ZeileZ, 1).Value = .Cells(ZeileQ, 1).Value
 wksZ.Cells(ZeileZ, 2).Value = Zaehler
 Next
 Next ZeileQ
 End With 'wksQ
 Application.ScreenUpdating = True
End Sub

Hi,
ist denn nicht auch 6-8 ein Wertebereich?
Dann hättest Du ja viel mehr Zeilen als in Deinem BSP angegeben.
Ich verstehe nicht so ganz Dein Problem?
Gruß,
Ptonka

Hallo Ptonka,
danke für die Nachricht - das Problem wurde bereits gelöst.