kostenloser Webspace werbefrei: lima-city


VBA Value Wert auf 1/0

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    nanofrager

    nanofrager hat kostenlosen Webspace.

    Hi Leute,

    kann leider nicht sagen ob ich hier in dem Richtigen Forum bin -> VBA gabs nicht zur Auswahl nur VB.
    Ist aber fast ähnlich :)

    Meine Frage:
    Und zwar möchte ich eine Zelle in Excel auslesen und nur ob die Zelle ein Inhalt hat, sprich = 1, oder nicht = 0. Und das ganze dann in eine Variable aus geben. Also mit 1 ist etwas drin und mit 0 ist nichts drin.

    \"Range.value\" Soweit bin ich schon, oder gibt es da ein bestimmten Befehl der das prüfen kann?

    Gruß Nano
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. p**i

    Moin,

    Der Befehl für einen String lautet strcomp.
    Hier die Referenz:
    http://www.vbarchiv.net/commands/StrComp.php

    Ich bin mir grad nicht sicher, wie es mit Integer Werten gehandhabt wird,
    aber sollte ebenso möglich sein.

    Zusatz:

    Eine normale if-Anweisung sollte es auch tun:

    If Worksheets(\"Sheet1\").Range(\"A1\") = \"\" Then
     deinwert = 0
    End If

    Du kannst da natürlich auch mit Range.value rangehen.

    Gruß,
    Puni

    Beitrag geändert: 9.4.2008 12:18:32 von puni
  4. Autor dieses Themas

    nanofrager

    nanofrager hat kostenlosen Webspace.

    Das ist das beste an Programmieren, jeder geht an die Sache anders heran.

    Also das mit \"\" währe mir nicht eingefallen.

    Vielen Dank
  5. Würde aber glaub ich auch mit EMPTY gehen, bin mir aber nicht so sicher, da ich eigentlich nichts mit VBA zu tun hab :)

    greets
  6. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.


    Würde aber glaub ich auch mit EMPTY gehen, bin mir aber nicht so sicher, da ich eigentlich nichts mit VBA zu tun hab :)

    greets


    Es gibt verschiedene Möglichkeiten, hier eine Übersicht:

    If Cells(1, 1) = Empty Then MsgBox \"Fall 1: Zelle leer\"
    If Cells(1, 1) = \"\" Then MsgBox \"Fall 2: Zelle leer\"
    
    If Cells(1, 1).Value = Empty Then MsgBox \"Fall 3: Zelle leer\"
    If Cells(1, 1).Value = \"\" Then MsgBox \"Fall 4: Zelle leer\"
    
    If Cells(1, 1).Formula = Empty Then MsgBox \"Fall 5: Zelle leer\"
    If Cells(1, 1).Formula = \"\" Then MsgBox \"Fall 6: Zelle leer\"
    
    If Range(\"A1\") = Empty Then MsgBox \"Fall 7: Zelle leer\"
    If Range(\"A1\") = \"\" Then MsgBox \"Fall 8: Zelle leer\"
    
    If Range(\"A1\").Value = Empty Then MsgBox \"Fall 9: Zelle leer\"
    If Range(\"A1\").Value = \"\" Then MsgBox \"Fall 10: Zelle leer\"
    
    If Range(\"A1\").Formula = Empty Then MsgBox \"Fall 11: Zelle leer\"
    If Range(\"A1\").Formula = \"\" Then MsgBox \"Fall 12: Zelle leer\"


    Daneben gibt es noch weitere Methoden, den Zellwert abzurufen, aber dies sind die interessantesten.
    Zum Beispiel wird bei Fall 1 die Bedingung wahr ergeben, wenn eine Formel, die in der Zelle enthalten ist,
    eine leere Zeichenfolge zurückgibt - Im Gegensatz z.B. zu Fall 11 und 12, wo auch die Formel beachtet wird.


    Achja: Empty ist das gleich wie \"\" (Leerstring)

    Beitrag geändert: 9.4.2008 17:54:24 von cbhp
  7. Autor dieses Themas

    nanofrager

    nanofrager hat kostenlosen Webspace.

    Sehr nett, so langsam komm ich dahinter... :D
  8. Autor dieses Themas

    nanofrager

    nanofrager hat kostenlosen Webspace.

    Sagt mal, irgend etwas stimmt nicht. Ich bin zu blöd für eine IF Anweisung:

    Habe mehrere Varianten probiert, aber nichts klappt. Weiß einer woran das liegt?

    Variante 1
    Private Sub CommandButton1_Click()
    If Cells(A, 1) = Empty Then
    MsgBox (\"leer\")
    Else
    MsgBox (\"voll\")
    End If
    End Sub


    Fehler:
    Laufzeitfehler 1004
    Anwendungs- oder objektdefinierter Fehler


    Variante 2
    Private Sub CommandButton1_Click()
    If Range(A, 1) = Empty Then
    MsgBox (\"leer\")
    Else
    MsgBox (\"voll\")
    End If
    End Sub

    Fehler:
    Laufzeitfehler 1004
    Die Methode Range für das Objekt _worksheets ist fehlgeschlagen
  9. Versuchs mal mit:

    Variante 1:
    Private Sub CommandButton1_Click()
    If Cells(1, 1) = Empty Then
    MsgBox (\"leer\")
    Else
    MsgBox (\"voll\")
    End If
    End Sub


    Variante 2:
    Private Sub CommandButton1_Click()
    If Range(\"A1\") = Empty Then
    MsgBox (\"leer\")
    Else
    MsgBox (\"voll\")
    End If
    End Sub


    Dann klappts.


    Beitrag geändert: 11.4.2008 10:01:54 von cultuschaos


    Beitrag geändert: 11.4.2008 10:03:48 von cultuschaos


    Beitrag geändert: 11.4.2008 10:04:13 von cultuschaos
  10. Autor dieses Themas

    nanofrager

    nanofrager hat kostenlosen Webspace.

    Boah sorry, echt dumm von mir...
  11. Ich frag mich nur grad wieso du das in ner Variabel als Zahl speichern willst.
    Bietet sich da nicht eher ne boolean Variabel an?
  12. Autor dieses Themas

    nanofrager

    nanofrager hat kostenlosen Webspace.

    Ich willst nicht speichern, möchte nur auslesen ob in er Zelle etwas ist oder nicht.
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!