Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1548to1552
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel wählt falsche Zelle aus

Excel wählt falsche Zelle aus
20.03.2017 13:58:17
Johanna
Hallo!
Ich habe eine Exceldatei, mit der ich mittels VBA ein Tabellenblatt einer anderen Exceldatei (Ergebnisse einer Prüfung) auf ein Tabelleblatt reinkopiere und dann damit arbeite.
Die Datei, die die Testergebnisse enthält sieht folgendermaßen aus: 1. Zeile Überschrift, dann Zeilenweise die KandidatInnen mit den Ergebnissen, wobei die ersten 9 Spalten Infos sind und erst ab der 10. Spalte Ergebnisse in Form von Punken für die jeweilige Frage stehen.
Diese Zahlen sind als Text gespeichert, womit ich natürlich nicht rechnen kann (zumindest nicht die SUM Funktion verwenden kann). Ich habe versucht sie umzuformatieren (auf gefühlt 10 verschiedene Arten), was mir nie gelungen ist. Ich habe immer schon bei der Auswahl der Range eine Fehlermeldung bekommen. Also habe ich erstmal nur versucht eine einzelne Zelle umzuformatieren (mit der gefühlt einfachsten Version überhaupt) mittels:
Worksheets(b).Cells(2, 10).Value = Worksheets(b).Cells(2, 10).Value * 1
Worksheets(b).Cells(2, 11).Value = Worksheets(b).Cells(2, 11).Value * 1
Worksheets(b).Cells(3, 10).Value = Worksheets(b).Cells(3, 10).Value * 1
Worksheets(b).Cells(3, 11).Value = Worksheets(b).Cells(3, 11).Value * 1
(wobei b ein str ist)
Interessanterweise sind jetzt die Zahlen in den Zellen J5, K5, J10 und K10 als Zahl gespeichert (obwohl ja eigentlich J2, K2, J3 und K3 angesprochen wurden), der Rest noch als Text.
Vermutlich übersehe ich irgendwo etwas, aber ich sehe einfach nicht was! Würde mich echt über Hilfe freuen!
Danke schonmal!
LG,
Johanna
PS: Mein Programm hat bis jetzt immer reibungslos funktioniert. Ich wollte nur die "Umwandlung" reinprogrammieren, da Moodle seit dem letzten Update auch die Zahlen als Text speichert (anstatt als Zahl wie bisher), wenn man sich das Ergebnis als xlsx Datei herunterladen möchte.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel wählt falsche Zelle aus
20.03.2017 15:01:36
Max2
Hallo,
es wäre hilfreich wenn du uns die gefühlten 10 Arten nennen könntest.
Sonst schreiben wir dir mehrfach das rein was du bereits versucht hast.
AW: Excel wählt falsche Zelle aus
20.03.2017 18:52:25
firmus
Hi Johanna,
ich sehe zwei Probleme:
1. Es werden andere Zellen als numerisch formatiert durch "...*1" als gewünscht.
Hier würde ich mal prüfen ob nicht "hidden" Zeilen existieren.
2. Neuerdings werden Werte als "TEXT" angeliefert, die früher numerische Werte waren.
Die Multiplikation mit 1 nutzte ich bisher auch immer, bis es einige Ausfälle gab.
Heute setzte ich die Eigenschaft der Zellen von "TEXT" auf "General"
Cells.Select
Selection.NumberFormat = "General"
Hoffe das hilft Dir ein Stück weiter.
Gruß
Firmus
Anzeige
AW: Excel wählt falsche Zelle aus
23.03.2017 10:58:54
Johanna
Hallo!
Danke für die vielen raschen Antworten! Ich versuche hier gleich alle drei auf einmal zu beantworten.
Gleich einmal vorweg: Ich glaube das Problem ist erstmal nicht, wie die Zellen umgewandelt werden, sondern dass falsche Zellen angesprochen werden. Denn in jeder einzelnen der unten stehenden Versionen bekomme ich den Laufzeitfehler "1004 Anwendungs- oder Objektdefinierter Fehler" und zwar schon in der Zeile, in der ich den Bereich anspreche, den ich formatieren will.
Ich habe keine Hidden Zellen. Selbst wenn ich welche hätte, würden ja eher Zellen darüber als darunter angesprochen werden, oder habe ich hier einen Denkfehler? (Also wenn ich zB am Tabellenblatt die 5. Zeile ansprechen möchte, davor aber 2 versteckt sind (ich also eigentlich die 7. ansprechen möchte), dann würde Excel ja alles 2 Zeilen zu weit oben machen, anstatt zu weit unten.)
Die verschiedenen Arten um Text in Zahlen umzuformatieren, die ich probiert habe:
1.
For Each Zelle In Sheets(b).Range(Cells(2, 10), Cells(letzteZeile, letzteSpalte))
Zelle.Value = Zelle.Value * 1
Next
2.
For i = 2 To letzteZeile
Cells(i, 10) = CDbl(Cells(i, 10))
Cells(i, 10).NumberFormat = "General"
Next
3.
With Worksheets(b).Range(Cells(2, 10), Cells(letzteZeile, letzteSpalte))
.NumberFormat = "General"
.Value = .Value
End With
4. 'mittels Recorder aufgenommen (Spalte ohne erster Zeile in eine Zahl umformatiert und dann unter "Daten" - "Text in Spalten umwandeln")und dann für die Schleife adaptiert
For x = 10 To letzteSpalte
Sheets(b).Range(Cells(2, x), Cells(letzteZeile, x)).Select
Selection.NumberFormat = "0"
Selection.TextToColumns Destination:=Range(2, x), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Next x
Vielen Dank für die Hilfe!
LG,
Johanna
Anzeige
AW: Excel wählt falsche Zelle aus
21.03.2017 09:46:04
Daniel
Hi
um als Text gespeicherte Zahlen in echte Zahlen umzuwandeln, reicht es nicht aus, das Zahlenformat der Zellen von "Text" auf "Standard" bzw "General" zu wechseln.
Das wirkt sich nur auf zukünftige Eingaben in diese Zellen aus, vorhandene Werte bleiben was sie sind.
die effektivsten Methoden, um Text-Zahlen in echte Zahlen zu wandeln, sind:
a) Daten - Datentools - Text in Spalten
hierbei die Einstellungen so wählen, dass keine neuen Spalten entstehen.
Diese Methode kann nur für eine Spalte angewendet werden, dh bei mehreren zu bearbeitenden Spalten musst du das für jede Spalte wiederholen
b) Inhalte Einfügen mit Addieren
kopiere eine Leerzelle und füge sie mit Inhalte Einfügen und dem Vorgang Addieren in die umzuwandelnden Zellen ein.
Den Vorgang Addieren findest du in der untersten Ebene des Menüpunkts "Inhalte Einfügen"
beide Methoden lassen sich auch per VBA durchführen, der Recorder ist dein Freund.
Gruß Daniel
Anzeige

9 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige