Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Excel Tabelle umformatieren
#1
Hallo liebe Leute, habe folgendes Problem. Ich habe ein Tabelle bekommen die in etwa so aussieht.

Adresse: / Teststrasse
Telefon: / Testnummer
Adresse: / Teststrasse
Telefon: / Testnummer
Adresse: / Teststrasse
Telefon: / Testnummer

Also in A immer was es ist und in B dann den Wert dazu... Jetzt dürfte klar sein, dass das nicht ganz übersichtlich ist...

Daher wäre mir lieber ich hätte es so

Adresse:        /    Telefon
Teststrasse    /    Testnummer
Teststrasse    /     Testnummer
usw.

Ne Idee ? Bin leider mit ner Pivottabelle da nicht weitergekommen aber vielleicht war ich auch einfach zu doof Big Grin
to top
#2
Hi,

schreib in C1 die Ziffer 1 und in C2 die Ziffer 2.

Nun markierst Du C1 und C2 und ziehst die Zellen am Anfasser mit gedrückter rechter Maustaste so weit nach unten wie nötig und wählst im daraufhin erscheinenden Kontextmenü "Zellen kopieren".

Dann setzt Du den Filter auf Spalte C, filterst auf 1 und kopierst die sichtbaren Zellen in Spalte A eines neuen Tabellenblatts.

Anschliessend Filter auf 2 und in Spalte B im neuen Blatt kopieren ...
to top
#3
(14.04.2015, 15:35)Kl@us-M. schrieb: Hi,

schreib in C1 die Ziffer 1 und in C2 die Ziffer 2.

Nun markierst Du C1 und C2 und ziehst die Zellen am Anfasser mit gedrückter rechter Maustaste so weit nach unten wie nötig und wählst im daraufhin erscheinenden Kontextmenü "Zellen kopieren".

Dann setzt Du den Filter auf Spalte C, filterst auf 1 und kopierst die sichtbaren Zellen in Spalte A eines neuen Tabellenblatts.

Anschliessend Filter auf 2 und in Spalte B im neuen Blatt kopieren ...

Das ist leider nicht die "optimale" "richtige" Lösung...

Habe es vielleicht auch nicht genau genug beschrieben.

Die Tabelle ist sehr unterschiedlich und nicht linear.

Sprich in A steht immer Was es ist zb. Firma / Anschrift / Telefon / Email und in B steht dann immer der Wert also der Name oder strasse etc.

Die Datensätze sind einfach stumpf untereinander geschrieben und manche Datensätz haben mehr oder weniger Daten sprich manche haben Fax manche keinen...

Also Tabelle sieht in etwa so aus:

A                         
Firma
Adresse
Tel
Mail

Firma
Adresse
Tel
Fax
Mail

Firma
Adresse
Tel
Homepage

und dann in B der Wert...

Ideen ?
to top
#4
Hi,

warum hast Du das nicht gleich geschrieben?

Ausserdem schreibst Du jetzt "Also Tabelle sieht in etwa so aus". Daran stört mich das "in etwa", weil weder ich noch wahrscheinlich die meisten guten Seelen hier im clever-excel-forum Lust und Laune haben, Deine Mappe nachzubauen.

Ich fürchte, das gibt wieder ein Stochern im Nebel, weil zudem einige Dinge ungeklärt sind: Kannst / darfst / willst Du VBA einsetzen? Wie oft muss die Tabelle bearbeitet werden (regelmässig oder einmalig)?

Kannst Du die Mappe (ggf. anonymisiert, aber mit allen relevanten und möglicherweise vorkommenden Datensätzen) mal hier ins Forum hochladen (Anleitung zum Hochladen siehe hier)?
to top
#5
Hallo,

teste mal folgendes Makro:

Code:
Sub vCardsZuListe()
 Dim lngQ As Long, lngZeile As Long, lngSpalte As Long
 Dim varQ As Variant, varZ As Variant
 
 Range("D1").CurrentRegion = ""
 Range("A1:B1").Copy
 Range("A1").Insert xlDown
 Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).AdvancedFilter _
         Action:=xlFilterCopy, CopyToRange:=Range("D1"), Unique:=True
 Rows(1).Delete
 Columns(4).SpecialCells(xlCellTypeConstants).Copy
 Range("E1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
 Columns(4).Delete
 varQ = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).Resize(, 2).Value
 varZ = Range("D1").CurrentRegion.Resize(UBound(varQ)).Value
 lngZeile = 2
 For lngQ = 1 To UBound(varQ)
   If varQ(lngQ, 1) = "" Then
     lngZeile = lngZeile + 1
   Else
     For lngSpalte = 1 To UBound(varZ, 2)
       If varZ(1, lngSpalte) = varQ(lngQ, 1) Then
         varZ(lngZeile, lngSpalte) = varQ(lngQ, 2)
         Exit For
       End If
     Next lngSpalte
   End If
 Next lngQ
 Range("D1").Resize(lngZeile, UBound(varZ, 2)).Value = varZ
End Sub

Gruß Uwe
to top
#6
Moin Uwe,

sehr schöne Lösung     Thumps_up     Laola     Thumps_up
to top
#7
(16.04.2015, 07:52)Kl@us-M. schrieb: Moin Uwe,

sehr schöne Lösung     Thumps_up     Laola      Thumps_up

Ja in der Tat, hat sie mir auch bei einem Teil der Tabelle helfen können aber nicht bei allen Teilen.

Darf ich die Tabelle einfach mal hier dranhängen und ihr scheucht euch das nochmal an. Bin am verzweifeln !


Bei einem Bundesland hat es perfekt geklappt bei den anderen nicht so...


Angehängte Dateien
.xlsx   Liste Komplett.xlsx (Größe: 178,49 KB / Downloads: 4)
to top
#8
Hallo,

Du musst dafür sorgen, dass die Liste in A1 beginnt!
Verbundene Zellen in Spalte A werden jetzt berücksichtigt:

Code:
Sub vCardsZuListe()
Dim lngQ As Long, lngZeile As Long
Dim lngSpalte As Long, lngLetzteSpalte As Long
Dim varQ As Variant, varZ As Variant

Range("D1").CurrentRegion.EntireColumn = ""
Range("A1:B1").Copy
Range("A1").Insert xlDown
Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).AdvancedFilter _
        Action:=xlFilterCopy, CopyToRange:=Range("D1"), Unique:=True
Rows(1).Delete
Columns(4).SpecialCells(xlCellTypeConstants).Copy
Range("E1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Columns(4).Delete
varQ = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).Resize(, 2).Value
varZ = Range("D1").CurrentRegion.Resize(UBound(varQ)).Value
lngZeile = 2
For lngQ = 1 To UBound(varQ)
  If varQ(lngQ, 1) = "" Then
     If varQ(lngQ, 2) <> "" Then
       If lngLetzteSpalte > 0 Then
         varZ(lngZeile, lngLetzteSpalte) = varZ(lngZeile, lngLetzteSpalte) & vbNewLine & varQ(lngQ, 2)
       End If
     Else
       If varQ(lngQ - 1, 2) <> "" Then
         lngZeile = lngZeile + 1
       End If
     End If
  Else
    lngLetzteSpalte = 0
    For lngSpalte = 1 To UBound(varZ, 2)
      If varZ(1, lngSpalte) = varQ(lngQ, 1) Then
        varZ(lngZeile, lngSpalte) = varQ(lngQ, 2)
        lngLetzteSpalte = lngSpalte
        Exit For
      End If
    Next lngSpalte
  End If
Next lngQ
Range("D1").Resize(lngZeile, UBound(varZ, 2)).Value = varZ
End Sub

Gruß Uwe
to top
#9
(18.05.2015, 11:28)Kuwer schrieb: Hallo, Du musst dafür sorgen, dass die Liste in A1 beginnt! Verbundene Zellen in Spalte A werden jetzt berücksichtigt: 
Danke Uwe, wow funktioniert super. Super Forum hier. Sagt mal bescheid wenn das mit der Vereinsgründung durch ist und richtet ein Spendenkonto ein, dann bin ich der erste der euch unterstüzt Wink
to top
#10
Hi,


Zitat:Sagt mal bescheid wenn das mit der Vereinsgründung durch ist und richtet ein Spendenkonto ein, dann bin ich der erste der euch unterstüzt

da musst du nicht bis zur Vereinsgründung warten Wink
?mage

Misserfolg ist eine Chance, es beim
nächsten Mal besser zu machen.

(Henry Ford)
http://www.sprueche-zum-nachdenken.eu
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
Question Daten aus PDF in eine vorgefertige Excel Tabelle ziehen mkletsel 11 499 18.09.2016, 13:04
Letzter Beitrag: Rabe
  Excel Tabelle Ernährung HeinzSenpai 10 491 14.08.2016, 11:22
Letzter Beitrag: HeinzSenpai
  Excel Tabelle chriska 10 628 20.07.2016, 13:58
Letzter Beitrag: Rabe
Exclamation Word-Serienbrief in Excel einfügen und Zeilen der Tabelle als Daten benutzen emmvau 5 557 08.06.2016, 08:22
Letzter Beitrag: Rabe
  excel tabelle als pdf speichern und per outlook versenden andi61 3 408 28.05.2016, 08:37
Letzter Beitrag: Kuwer
  Übernahme des Inhalts von IFC-Dateien in Excel Tabelle sunny01 54 2.913 09.05.2016, 17:43
Letzter Beitrag: schauan
  Komplexe Tabelle in Excel importieren oder eintippen für den Import zu Power Point tobi92-tobias 8 550 08.05.2016, 19:29
Letzter Beitrag: WillWissen
  Excel-Tabelle Liste mit Formeln verknüpfen hbboy15 3 362 05.05.2016, 12:34
Letzter Beitrag: hbboy15
  Wie kann ich in Excel in meiner Tabelle die Daten zusammen fassen? Marcia904 5 376 26.04.2016, 14:41
Letzter Beitrag: Rabe
  Excel-Tabelle als Text-Datei vivaldi 10 1.013 15.02.2016, 21:17
Letzter Beitrag: WillWissen

Gehe zu:


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