Hinweise zu den Beispielen finden Sie hier: Home: VBA-Beispiele
Kategorien: Format ▸ Text und Tabelle ▸ Zellen
Manchmal stehen Zahlen nach dem Import aus anderen Programmen links in der Zelle und werden auch nicht als Zahl interpretiert. Wie kann man das ändern?
Es ist das Problem, das häufig auftritt, wenn die Daten aus Textdateien oder aus dem Internet kommen. Dann sind scheinbar Zahlen enthalten, die aber in den Zellen links stehen - ein Indiz dafür, dass die Daten nicht als Zahlen, sondern als Texte (String) erkannt wurden. Man kann natürlich die Zellen rechtsbündig formatieren, was aber das grundlegende Problem nicht löst. Da es sich immer noch um Texte handelt, können bei Berechnungen Fehler auftreten.
Nun könnte man nacheinander jede Zelle aktivieren, mit F2 den Eingabemodus aufrufen und gleich wieder Enter drücken. Dadurch würde Excel i. d. R. die Zahlen als solche erkennen. Bei sehr vielen Zellen dürfte das aber eine zeitraubende Angelegenheit sein.
Hier ist ein Beispiel, das für die Lösung den Excel-internen Befehl Inhalte einfügen - Multiplikation verwendet. Nehmen wir an, in A1 steht die Ziffer 1. Dann kann man die Textzahlen in B1:B21 umwandeln mit:
Range("A1").Copy Range("B1:B21").PasteSpecial Operation:=xlMultiply, SkipBlanks:=True
Sind Hochkommas im Spiel, sehen Sie sich bitte Hochkomma (') entfernen an.
Kategorien: Tabelle ▸ Zellen und Format ▸ Text
Wie kann das führende Hochkomma entfernt werden?
Zum Verständnis: Das führende Hochkomma gehört zum Format der Zelle, nicht zum Inhalt.
Am einfachsten ist sicher, das Format einer anderen Zelle zu übertragen.
Dazu wird eine leere Zelle benötigt, die genau so formatiert wird, wie es bei den Zellen mit den Hochkommas der Fall ist. Damit sind also Farben, Rahmen, Schriftformat und ggf. Zahlenformat gemeint. Aber Vorsicht: Nicht das Format einer Zelle mit Hochkomma auf diese Zelle übertragen, sondern diese Zelle manuell formatieren!
Das Formatieren kann natürlich entfallen, wenn es bei den Zellen mit den Hochkommas nur um die Inhalte geht, wenn es sich also um reine Daten handelt, die nicht zur Ansicht oder zum Druck vorgesehen sind.
Nun die so formatierte Zelle aktivieren (anklicken), anschließend im Ribbon Start auf den Pinsel zum Format übertragen klicken und sofort über die Zellen ziehen, in denen die zu entfernenden Hochkommas sind.
Alternativ geht das auch per VBA. M2 ist die manuell formatierte Zelle, in A2:A20 sind die zu entfernenden Hochkommas:
Range("M2").Copy Range("A2:A20").PasteSpecial Paste:=xlPasteFormats
Sollten dann noch Formeln angezeigt werden oder Zahlen als Text, kann dieser Code mit dem Code in Textzahl zu Zahl kombiniert werden.
Ähnlich ist eine Alternative, bei der Excel zum Rechnen gezwungen wird. Dazu wird eine Zelle mit einer 1 kopiert und der zu ändernde Bereich per Inhalte einfügen ▸ Multiplizieren damit multipliziert:
Range("IV10000") = "1" Range("IV10000").Copy 'Bereich anpassen: Range("A2:A16").PasteSpecial Paste:=xlAll, Operation:=xlMultiply Range("IV10000").ClearContents
Außerdem können die Hochkommas so entfernt werden:
Kategorie: Drucken/Seite
Wie kann man die Seiteneinstellungen (Ränder, Kopfzeile, usw.) mehrerer Blätter auf einmal ändern?
Sollen alle Blätter der Mappe betroffen sein, ein Register mit rechts anklicken und Alle Blätter markieren wählen. Sonst die einzelnen Blattregister mit gedrückter Shift-Taste anklicken.
Anschließend die Seiteneinstellungen vornehmen und ein beliebiges Register eines nicht aktiven Blattes anklicken.
Kategorien: Format ▸ Basics und Format ▸ Zahlen
Wenn ich das benutzerdefinierte Format "701-000-000-??" vergebe und nur die letzten beiden Ziffern eingebe, ist es mir nicht möglich, diese vollständige Zahl zu kopieren.
Der Inhalt einer Zelle ist das, was eingegeben wurde.
Das Formatieren einer Zelle ist das Ändern des Aussehens des Inhalts - nicht aber das Ändern des Inhaltes.
In der Bearbeitungsleiste sieht man den Inhalt der aktiven Zelle. Beispiel: In eine Zelle eine Zahl eingeben und diese als Währung formatieren. Dann werden das €-Zeichen und der Tausendertrennpunkt angezeigt. Nun die Zelle aktivieren und in die Bearbeitungsleiste sehen - da steht immer noch nur die Zahl drin, nicht aber das €-Zeichen.
Gibt man nach der Formatierung, die in der Frage genannt wurde, in eine Zelle z. B. die 13 ein, ist auch nur die 13 enthalten.
Man kann sich aber aber wie folgt behelfen:
In B1 schreibt man: ="701-000-000-"&A1.
Nun kann in A1 die Zahl eingeben werden; egal, wie A1 formatiert ist. B1 kann nun kopiert werden; beim Einfügen muss man nur darauf achten, dass der Wert eingefügt wird:
Einfügeoptionen ▸ Werte.
Alternative:
Ein Makro, das dem Blatt zugeordnet ist und ungefähr wie folgt aufgebaut ist:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Column < > 1 Then Exit Sub If Cells(Target.Row, 1) < > "" And Len(Cells(Target.Row, 1)) < 3 Then _ Cells(Target.Row, 1) = "701-000-000-" & Cells(Target.Row, 1) End Sub
Kategorien: Stringoperationen ▸ Verketten und Tabelle ▸ Zellen
Wie kann man in einer Zelle manuell eine neue Zeile beginnen?
Einen manuellen Zeilenumbruch erhält man mit Alt + Enter. Dies muss allerdings bei weiteren Auswertungen der Zellinhalte berücksichtigt werden, denn damit wird das unsichtbare ZEICHEN(10) eingefügt, also der Zeilenumbruch.
Im Ribbon Start oder per Zellformatierung kann mit Textumbruch dafür gesorgt werden, dass der Text an Leerzeichen umgebrochen wird. Dies wird in vielen Fällen die bessere Alternative sein, weil der eigentliche Zellinhalt nicht durch weitere Zeichen ergänzt wird.
Kategorie: Tabelle ▸ Matrix
Wie können Daten in Spalten zu Daten in Zeilen umgewandelt werden?
Ab Excel 365 kann die Tabelle auch einfach per Formel gedreht werden. Dazu die Funktion MTRANS() verwenden und den Bereich der Tabelle angeben:
=MTRANS(E1:I3)
Kategorie: Tabelle ▸ Ansicht
Wie kann ich Zeilen fixieren, damit die oberste Zeile beim Scrollen bleibt und nicht mitscrollt, für eine Beschreibung des Zeileninhalts beispielsweise?
Bei Excel kann/können die obere(n) Zeile(n) und linke(n) Spalte(n) fixiert werden. Einfach den Cursor unterhalb der zu fixierenden Zeile(n) und rechts der zu fixierenden Spalte(n) setzen und im Ribbon "Fenster"Ansicht den Eintrag Fenster fixieren wählen.
Kategorie: Dateien und Ordner ▸ Verknüpfungen
In meiner Tabelle befindet sich keine Verknüpfung zu einer anderen Mappe. Trotzdem sind Verknüpfungen enthalten. Wie kann ich diese entfernen?
Manchmal befinden sich auch Verknüpfungen in Namen. Diese kann man wie folgt entfernen:
Kategorie: Stringoperationen ▸ Teile
In einem Zellbereich stehen in den einzelnen Zellen Vor und Nachnamen. Wie kann ich diese Einträge ohne VBA trennen, so dass in einer Zelle der Vor- und in der Nachbarzelle der Nachname erscheint?
Zunächst sollte man hinter der Spalte, welche die Daten (also Vor- und Nachname) enthält, eine neue Spalte einfügen. Danach ist folgendes Vorgehen möglich:
Es ist mit dieser Methode auch möglich, mehr als 2 Wörter, die mit Leerzeichen getrennt sind, in die Nachbarzellen zu übertragen. Sollten in nebenstehenden Zellen Daten stehen, muss man darauf achten, vor der Ausführung des Befehls entsprechend viele Spalten einzufügen.