2.4k Aufrufe
Gefragt in Tabellenkalkulation von pepi_poe Einsteiger_in (15 Punkte)
Hallo

ich brauch mal eure Hilfe Bitte!

mein Problem:
ich hab eine Excel Tabelle in der sehr viel spalten sind.
zu viele um es lesbar auszudrucken oder anzeigen zu lassen.
Es steht je zeile immer nur in einer spalte eine Zahl.
Die Spalten kann ich aber nicht schmäler machen da sonst die Zahl nicht mehr angezeigt wird.

wenn ich die Zahl als Text umwandle überschreibt diese die spalte rechts daneben und das problem ist gelöst, ich mache die spalten schmäler und kann so alle darstellen.

darau ergiebt sich aber das ich damit keine berechnungen mehr anstellen kann! geht also auch nicht!

nun wurde mir gesagt ich könnte die Tabelle spiegeln oder Kopieren oder so was um in einer Tabelle die zahlen einzugeben und zu berechnen und in der anderen die als Text darstellen zu lassen und somit beides zu haben.
das finde ich aber nicht wie das geht!

oder hat jemand eine andere Lösung?

8 Antworten

0 Punkte
Beantwortet von Einsteiger_in (75 Punkte)
Hallo pepi,

wenn in Tabelle1 Deine Zahlen für die Berechnung stehen, dann lege ein neues Tabellenblatt an, in dem Du zur Anzeige die Spalten schmaler machen kannst, und schreeiben in A! die Formel:

=TEXT(Tabelle1!A1; "0,000")
- wenn es sich z. B. um Zahlen mit 3 Nachkommastellen handelt - oder

=TEXT(Tabelle1!A1; "0")
- wenn es sich um Ganzzahlen handelt -

und ziehe/kopiere diese soweit, wie in Tabelle 1 die Zahlen reichen.

MfG Lucy_S
0 Punkte
Beantwortet von pepi_poe Einsteiger_in (15 Punkte)
Hallo

danke das ist ein guter ansatz! leider erscheinen dann in allen zellen in denen nichts steht 0,00 und somit hann ich wider die spaltenbreite nicht schmal genug machen.

ich hab es mit
=WENN(Tabelle1!A1>0,1;TEXT(Tabelle1!A1;"0,00");0)
versucht dann sehe ich die 0 nicht der text lässt sich aber nicht über die zellen schreiben.
auch wenn ich die 0 am ende der Formel weglasse geht es nicht!

ich weß das problem ist nicht leicht zu lösen!
all meine Freunde sind auch schon daran gescheitert!
Danke auf jeden fall für die hilfe!

würde mich noch über weitere Vorschläge sehr freuen!
0 Punkte
Beantwortet von Einsteiger_in (75 Punkte)
=WENN(Tabelle1!A1 = ""; ""; TEXT(Tabelle1!A1; "0,00"))
0 Punkte
Beantwortet von pepi_poe Einsteiger_in (15 Punkte)
leider geht das bei mir immer noch nicht!
die spalte rechts dameben wird nicht überschrieben!
0 Punkte
Beantwortet von Einsteiger_in (75 Punkte)
Bei mir schon!
0 Punkte
Beantwortet von pepi_poe Einsteiger_in (15 Punkte)
?
was hab ich da falsch gemacht?

Excel 2003 SP1 kann es darann liegen?
0 Punkte
Beantwortet von Einsteiger_in (75 Punkte)
Hallo pepi,

Du hast leider recht, ich habe den Fehler gemacht, dass ich in meiner benachbarten Spalte rechts nicht überall die Formel angewendet habe. Nun sehe ich auch, dass es nicht funktioniert, weil in den Zellen "" (= nichts) drin steht und "" (NICHTS) ist offenbar mehr als GAR NICHTS, jedenfalls für das Überschreiben der Nachbarspalte.

Tut mir leid, ich denke weiter darüber nach.
Lucy
0 Punkte
Beantwortet von Einsteiger_in (75 Punkte)
Hallo pepi,

hier wäre ein Makro, das nur nichtleere Zellinhalte in in neus Tabellenblatt kopiert.

Sub Makro1()
Dim vonTbl As String, nachTbl As String, wert As String
Dim vonZeile As Integer, bisZeile As Integer, vonSpalte As Integer, bisSpalte As Integer
Dim z As Integer, s As Integer

' ### Werte anpassen ###
vonTbl = "Tabelle1"
nachTbl = "Tabelle2"
vonZeile = 1 'oder erste Zeile automatisch ermitteln: ThisWorkbook.Worksheets(vonTbl).UsedRange.Row
'bisZeile = 100 'oder letzte Zeile automatisch ermitteln: siehe unten
bisZeile = ThisWorkbook.Worksheets(vonTbl).UsedRange.Row + ThisWorkbook.Worksheets("Tabelle1").UsedRange.Rows.Count - 1
vonSpalte = 1 'oder erste Spalte automatisch ermitteln: ThisWorkbook.Worksheets(vonTbl).UsedRange.Column
'bisSpalte = 100 'oder letzte Spalte automatisch ermitteln: siehe unten
bisSpalte = ThisWorkbook.Worksheets(vonTbl).UsedRange.Column + ThisWorkbook.Worksheets("Tabelle1").UsedRange.Columns.Count - 1
' ### Werte anpassen ###
'nur nichtleere Zellinhalte übertragen
For z = vonZeile To bisZeile
For s = vonSpalte To bisSpalte
wert = ThisWorkbook.Worksheets(vonTbl).Cells(z, s).Value
If wert <> "" Then ThisWorkbook.Worksheets(nachTbl).Cells(z, s) = wert
Next s
Next z

End Sub


Schönes Wochenende!
...