Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ActiveCell.Value bei benutzerdef. Format?

ActiveCell.Value bei benutzerdef. Format?
22.11.2005 15:03:36
Karsten
Hallo Excel-Profis,
eine Zelle in meinem Sheet hat z.B. den Inhalt "32610", sie ist jedoch wie folgt benutzerdefiniert formatiert: "KNX"000"AZ"00
Also sieht man in der Zelle folglich folgenden Inhalt: KNX326AZ10. Wenn ich nun via "Variable = ActiveCell.Value" unter VBA den Inhalt der Zelle in eine Variable kopiere, dann hat diese Variable nur den Wert "32610".
Ich bräuchte allerdings den Inhalt der Zelle samt Formatierung, also "KNX326AZ10". Ist das möglich? (Achtung: die Zellen sind unterschiedlich formatiert, ich bräuchte also eine universelle Lösung, d.h. es bringt nichts wenn ich die Variable hinterher wieder in VBA dementsprechend formatiere).
Danke für eure Hilfe im voraus!
MfG
Karsten
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveCell.Value bei benutzerdef. Format?
22.11.2005 15:17:20
MichaV
Hallo,
nimm ActiveCell.Text
Gruss- Micha
PS: Rückmeldung wäre nett.
AW: ActiveCell.Value bei benutzerdef. Format?
22.11.2005 15:18:54
Frank
Hallo Karsten,
versuche es mal mit ".Text" (zum Beispiel ActiveCell.Text).
Gruß Frank.
AW: ActiveCell.Value bei benutzerdef. Format?
22.11.2005 15:21:25
Karsten
Hallo Micha,
Hallo Frank,
danke euch für die Lösung!! Mit ".Text" hat es geklappt.
MfG
Karsten
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

ActiveCell.Value und benutzerdefinierte Formate in Excel VBA


Schritt-für-Schritt-Anleitung

Um den Inhalt einer Zelle mit benutzerdefiniertem Format in Excel VBA korrekt auszulesen, kannst du die folgende Methode verwenden:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklicke im Projektfenster auf "VBAProject (deinWorkbookName)" und wähle Einfügen > Modul.

  3. Gib den folgenden Code ein:

    Sub GetActiveCellFormattedValue()
       Dim formattedValue As String
       formattedValue = ActiveCell.Text
       MsgBox "Der formatierte Wert ist: " & formattedValue
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Wähle eine Zelle mit einem benutzerdefinierten Format aus und führe das Makro aus (z.B. über Entwicklertools > Makros).

Mit dieser Methode erhältst du den formatierten Wert der Zelle, zum Beispiel "KNX326AZ10", und nicht nur den numerischen Wert.


Häufige Fehler und Lösungen

  • Fehler: "Variable nicht definiert"

    • Lösung: Stelle sicher, dass du die Variable korrekt deklariert hast und dass der Code im richtigen Modul platziert ist.
  • Fehler: Der Wert wird nicht wie erwartet angezeigt.

    • Lösung: Überprüfe, ob du ActiveCell.Text anstelle von ActiveCell.Value verwendest, da ActiveCell.Value nur den zugrunde liegenden Zahlenwert zurückgibt.

Alternative Methoden

Wenn du eine andere Methode ausprobieren möchtest, kannst du auch die Range-Objekte nutzen:

Sub GetFormattedValueFromRange()
    Dim formattedValue As String
    formattedValue = Range("A1").Text ' Ersetze "A1" durch die gewünschte Zelle
    MsgBox "Der formatierte Wert in A1 ist: " & formattedValue
End Sub

Diese Methode funktioniert ähnlich und gibt dir auch den benutzerdefinierten Text zurück.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du ActiveCell.Text verwenden kannst:

  1. Auslesen des Wertes in einer MsgBox:

    Sub ShowActiveCellValue()
       MsgBox "Aktueller Wert: " & ActiveCell.Text
    End Sub
  2. Zuweisen des Wertes an eine andere Zelle:

    Sub CopyFormattedValue()
       Range("B1").Value = ActiveCell.Text ' Kopiere den formatierten Wert in B1
    End Sub

Diese Beispiele zeigen, wie du den activecell.value in verschiedenen Szenarien nutzen kannst.


Tipps für Profis

  • Verwende Option Explicit: Füge am Anfang deines VBA-Moduls Option Explicit hinzu, um sicherzustellen, dass alle Variablen deklariert sind.
  • Nutze Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um unerwartete Fehler zu vermeiden.
  • Dokumentiere deinen Code: Füge Kommentare hinzu, um die Funktionsweise deines Codes verständlich zu machen.

FAQ: Häufige Fragen

1. Kann ich den Inhalt von mehreren Zellen gleichzeitig abrufen?
Ja, du kannst eine Schleife verwenden, um den Text mehrerer Zellen in einem Bereich auszulesen.

2. Was passiert, wenn die Zelle leer ist?
Wenn die Zelle leer ist, gibt ActiveCell.Text einen leeren String zurück. Du kannst dies überprüfen und entsprechend handeln.

3. Funktioniert das auch in Excel 365?
Ja, die beschriebenen Methoden funktionieren in allen aktuellen Excel-Versionen, einschließlich Excel 365.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige