Home  >  Praxis & Hilfe  >  Kummerkasten  >  Office  > Artikel 41296

spacer

Excel: Nur Teile der Zeilen in Spalten umwandeln

Problem: Ich habe eine vierspaltige Tabelle, welche in folgendem Format aufgebaut ist: Die erste Zeile enthält «Art.A, RabattA, RabattB, RabattC», die zweite «Art.B, RabattA, RabattB, RabattC» und so weiter. Daraus möchte ich gerne eine Tabelle mit nur zwei Spalten machen, Zeile 1 also «Art.A, RabattA», Zeile 2 «Art.A, RabattB» etc. Mit der Transponieren-Funktion hat das leider nicht geklappt. Wie kann ich die Tabelle in dieses Format konvertieren?

blue_quad von Gaby Salvisberg (18.10.2007)

Lösung: Sie haben also vermutlich eine Situation wie in diesem Screenshot:

Ausgangslage: So sieht die Tabelle vorher ausAusgangslage: So sieht die Tabelle vorher aus

Mit dem untenstehenden VBALexikon VBA-CodeLexikon Code sollte es gehen. Öffnen Sie Extras/Makro/Makros, geben Sie als Name fürs MakroLexikon Makro «Rabattstruktur» ein und klicken Sie auf Erstellen.

Erstellen Sie das Excel-MakroErstellen Sie das Excel-Makro

Es öffnet sich der Visual-Basic-EditorLexikon Editor, in welchem die zwei Zeilen «Sub Rabattstruktur()» und «End Sub» zu sehen sind, die Sie jetzt löschen. Kopieren Sie nun folgenden Quellcode und fügen Sie diesen dort ein:

Sub Rabattstruktur()
zeile = 1
spalte = 1
bspalte = 1
bzeile = 1
Do While Cells(zeile, spalte) <> ""
If Cells(zeile + 1, spalte) <> Cells(zeile, spalte) Then
'Art-Sprung erkannt
bzeile = zeile
bspalte = 1
counter = 0
'Rabatte werden von links nach rechts "abgemäht"
Do While Cells(bzeile, spalte + 1) <> ""
'Anzahl Rabatte zählen für Rückschritt bei Löschung Ursprungszeile
counter = counter + 1
'Umstrukturierung
Cells(zeile + 1, bspalte).EntireRow.Insert
Cells(zeile + 1, bspalte) = Cells(bzeile, bspalte)
Cells(zeile + 1, bspalte + 1) = Cells(bzeile, spalte + 1)
zeile = zeile + 1
spalte = spalte + 1
Loop
Else
zeile = zeile + 1
End If
spalte = 1
'Rückschritt und Ursprungszeile löschen
If zeile > counter Then
Cells(zeile - counter, spalte).EntireRow.Delete
Else
End If
Loop
End Sub

So sieht das dann im Visual-Basic-Editor aus:

Das Makro im VB-Editor von ExcelvergrößenDas Makro im VB-Editor von Excel

Kehren Sie danach über's Datei-Menü zurück ins Excel, rufen Sie mit dem Tastenkürzel Alt+ F8 die Makros auf, wählen Sie «Rabattstruktur» und klicken auf Ausführen. Schon baut das Makro die Tabelle um, die danach so aussieht:

vergrößen

(PCtipp-Forum)



  


Anzeige
Social Bookmarks
Wählen Sie:
Ähnliche Themen

Problem: Wenn ich eine Excel-Arbeitsmappe mit mehrern Blättern in ein PDF umwandeln möchte, erstellt jedes mir bekannte Tool (von Freeware bis Adobe Prof.)... Excel-Tabellen in einzelnes PDF ausgeben

Problem: In unserem Kursraum arbeiten wir hauptsächlich mit Office 2003. Office 2007 ist aber ebenfalls installiert. Wird nun ein Dokument mit Doppelklick... Dokumente in Office 2003 öffnen trotz vorhandenem Office 2007

Problem: Ich möchte eine Preisliste erstellen, in welcher ich jedes Jahr anhand von Prozentzuschlag die Preise aktualisieren kann. Excel-Preisliste erstellen

Seit ewigen Zeiten plagt mich in Office 2003/2007 eine Unart von Excel. Ich fülle zum Beispiel eine Zeile mit den gewünschten Zahlen aus und drücke dann... Excel: Wo landet der Cursor nach Drücken der Enter-Taste?

Problem: Gibt es ein Makro für Excel mit dem ich den Dialog «Speichern unter» mit einem vorgegebenen Pfad öffnen kann? Excel-Makro: Unter vorgegebenem Pfad speichern

Fachchinesisch

Mühe mit Computerbegriffen?

Im Fachchinesen finden Sie 743 Erklärungen.

AKTUELLE KUMMERKASTEN

Problem: Ich habe in Excel 2010 eine Adressliste, die ich in Outlook 2010 importieren möchte. Auf dem Tabellenblatt habe ich in der ersten Zeile Spaltenüberschriften... Outlook-Kontakte aus Excel importieren

Problem: Irgendwie sollte man in Google-Mail übers Webinterface doch ausgezeichnet suchen können. Aber wenn ich einen Suchbegriff ins Feld oberhalb der... Suchen in Google Mail

Leser empfehlen

Problem: Ich möchte in den einzelnen Feldern der Tabelle eine Dropdown-Liste zur Auswahl der Kriterien einfügen. Wie geht das? Dropdown-Liste in Excel erstellen

Ich arbeite häufig mit der Sonderzeichentabelle in Word. Mir ist es aber zu umständlich, ständig die Tabelle zu öffnen, um das Zeichen in den Text einzufügen.... ASCII-Tabelle für Sonderzeichen

Kann ich Windows XP auch im abgesicherten Modus starten? Windows XP im abgesicherten Modus starten

Problem: Wenn ich aus den PCtipp-Downloads ein File herunterladen will, erscheint die Aufforderung, ein PCtipp-Abo zu lösen. Ich kaufe den PCtipp aber... Frustfreier Download bei www.pctipp.ch

Problem: Wenn ich im Firefox via Ctrl+T oder «Datei/Neuer Tab» einen neuen Tab öffne, wird in diesem immer eine leere Seite (about:blank) angezeigt. Ich... Firefox: Neuer Tab mit Startseite?

ANZEIGE
PROMOTION
PCTIPP ABONNIEREN
Holen Sie sich monatlich die besten Tipps und Tricks für den PC-Alltag nach Hause.
NEWSLETTER
Wir halten Sie auf dem Laufenden: Der Newsletter liefert Ihnen jeden Werktag das Aktuellste aus der Welt von Computer und Internet.

RSS-FEEDS
Die PCtipp-Website bietet RSS-Feeds an. Holen Sie sich die Schlagzeilen von PCtipp.ch schnell und bequem auf den Desktop oder bauen Sie diese in Ihre eigene Webseite ein.
Anzeige