Hallo, ich habe eine Excel-Tabelle mit ca. 1200 Spalten (Spalte A:Länge, Spalte B:Breite, Spalte C:Gewicht...). Die Zellen bei jeder Spalte sind teilweise ohne Werte. Ich möchte dem Wert in den jeweiligen Zellen den Spaltenname zuweisen, zB. die Zelle A28 hat den Wert "123", diesen möchte ich in "Spaltenname:123" umwandeln. würde sowas mit Makros gehen!? Vielen Dank im Voraus.
For s = 1 To 3 For z = 2 To Cells(Rows.Count, s).End(xlUp).Row If Not IsEmpty(Cells(z, s)) Then Cells(z, s).Value = Cells(1, s).Value & ": " & Cells(z, s) End If Next z Next s
Moin! Mir ist der Sinn hinter der Geschichte unklar. Durch die Verkettung zerschießt es Dir jede Auswertung! Geht es Dir nur darum, die Überschriften immer zu sehen? Dann Ansicht, Fenster einfrieren, oberste Zeile Alternative: Mache aus der Tabelle ein List-Objekt (Einfügen, Tabelle) Dann wandern die Überschriften beim Scrollen in die Spaltenköpfe.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
17.11.2016, 19:16 (Dieser Beitrag wurde zuletzt bearbeitet: 17.11.2016, 19:20 von IchBinIch.)
Ich denke genau das macht mein Makro.
Wobei ich Ralf zustimme, auswerten wird dann haarig. Der Tabellenausschnitt von mir oben, ist der Ursprungszustand. Das Makro liefert das was Du bezweckst.
17.11.2016, 19:19 (Dieser Beitrag wurde zuletzt bearbeitet: 17.11.2016, 19:20 von RPP63.)
Moin mal wieder! Gibt es 1.200 verschiedene Eigenschaften?? Da dürfte selbst der Duden Schwierigkeiten haben, die zusammen zu bekommen … Davon ab: Nur 1.000 Datensätze mit 1.200 Eigenschaften à durschn. 10 Buchstaben blähen Dein Blatt um schlappe 12 MByte auf.
Nun, Gottes Wille ist sein Himmelreich! Nimm ein Array, wenn Du vor morgen fertig sein willst:
Sub Quatsch()
Dim arrTemp AsVariantDim cnt&, col&
With Range("A2", Range("A2").SpecialCells(xlLastCell))
arrTemp = .Value
For cnt = 1ToUbound(arrTemp)
For col = 1To ActiveSheet.UsedRange.Columns.Count
arrTemp(cnt, col) = Cells(1, col) & ": " & arrTemp(cnt, col)
NextNext
.Value = arrTemp
EndWithEndSub
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)