Forum:Excel
Thema:Variable auf Basis der ausgewählten Zelle deklarieren
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
piston

Beiträge: 140 / 0

Pro/E WF4<P>Windows XP 64bit

Hallo!


Ich habe folgendes Problem:

Ich lese über ein Makro den Inhalt einer Zelle aus. Dieser kann über eine InputBox geändert werden und soll wieder in die Zelle geschrieben werden.

Nun ist der ursprüngliche Inhalt einmal ein Text und einmal eine Kommazahl. Je nach dem wie ich die Variable deklariere "String" oder "Long" stimmt es einmal oder das Makro bricht überhaupt ab.

Gibt es die Möglichkeit, das ich das "Format" der ausgewählten Zelle auslese und auf dieser Basis die Variable deklariere?

Kurz gesagt:
Wenn in der Zelle ein Text steht soll ein Text zurückgegeben werden und wenn eine Kommazahl steht eine Kommazahl.

DANKE!!!

HenryV

Beiträge: 718 / 0

SolidWorks 2018 x64 SP4.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 1703
Microsoft Office 365 ProPlus
Microsoft Visual Studio Enterprise 2019

Hallo piston

Hab im Netz mal eine Funktion gefunden und umgeschrieben -> http://www.j-walk.com/ss/excel/tips/tip62.htm

Code:
Function CellType(Zelle As String)
    Application.Volatile
    Dim c As Object
    Set c = Range(Zelle)
    Select Case True
        Case IsEmpty(c)
            CellType = "Leer"
        Case Application.IsText(c)
            CellType = "Text"
        Case Application.IsLogical(c)
            CellType = "Logik"
        Case Application.IsErr(c)
            CellType = "Fehler"
        Case IsDate(c)
            CellType = "Datum"
        Case InStr(1, c.Text, ":") <> 0
            CellType = "Zeit"
        Case IsNumeric(c)
            CellType = "Zahl"
    End Select
End Function

Test-Aufrufen für Zelle "A1"

Code:
msgbox CellType("A1")

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

Beverly

Beiträge: 391 / 0

Win 10 Pro, Office 97 bis Office 2016

Hi,

den Typ einer Variablen kannst du nicht im Nachhinein deklarieren. Deklariere sie als Variant, dann kann sie alle Dimensionen annehmen.

------------------
Bis später,
Karin