Typ dat v buňce, odchycení chyby – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Typ dat v buňce, odchycení chyby – Visual Basic – Fórum – Programujte.comTyp dat v buňce, odchycení chyby – Visual Basic – Fórum – Programujte.com

 

natech
~ Anonymní uživatel
4 příspěvky
10. 6. 2012   #1
-
0
-

V VB jsem nikde nenašel žádnou možnost, jak zjistit, jaká data jsou v Excelu v buňce zadána, zda-li je to číslo, nebo text.

Snažil jsem se to vyřešit ošetřením chyby podle vzoru takto:

Dim c As Integer

        c = 1

        On Error GoTo fnnn

        i_temp = Cells(i_b, 1) & c

        On Error GoTo 0 'ruší ignoraci chyb

 

fnnn: 'zruší chybu

    Err.Number = 0

    i_temp = -1

    c = c + 1

    'navrat na radek, kde byla chyba

    Resume 

Při spuštění došlo k zaciklení.

Vůbec nechápu, proč je tam ta proměnná  c a co dělá.

VB není moje parketa, takže prosím o pomoc s vyřešením problému.

Nahlásit jako SPAM
IP: 77.48.104.–
natech
~ Anonymní uživatel
4 příspěvky
11. 6. 2012   #2
-
0
-

Tak jsem se snažil to vyřešit tímto způsobem:

  For i_b = 6 To 2000
        On Error GoTo fnnn
        i_temp = Cells(i_b, 1)
        On Error GoTo 0 'ruší ignoraci chyb
        GoTo labelk
fnnn: 'zruší chybu
    Err.Number = 0
    i_temp = -1
    On Error GoTo 0
labelk:
-nějaký další kod
Next i_b

Dojde však k tomu, že při druhém průchodu to vyhodí chybu. Ošetření chyby nefunguje.







Nahlásit jako SPAM
IP: 90.176.236.–
JoDiK
~ Anonymní uživatel
987 příspěvků
11. 6. 2012   #3
-
0
-

#2 natech
A tahle funkce VBA by ti nestačila?

IsNumeric Function 

Returns a Boolean value indicating whether an expression can be evaluated as a number.

Syntax

IsNumeric(expression)

The required expression argument is a Variant containing a numeric expression or string expression.

Remarks

IsNumeric returns True if the entire expression is recognized as a number; otherwise, it returns False.

IsNumeric returns False if expression is a date expression.

Example
This example uses the IsNumeric function to determine if a variable can be evaluated as a number.

Dim MyVar, MyCheck
MyVar = "53"    ' Assign value.
MyCheck = IsNumeric(MyVar)    ' Returns True.

MyVar = "459.95"    ' Assign value.
MyCheck = IsNumeric(MyVar)    ' Returns True.

MyVar = "45 Help"    ' Assign value.
MyCheck = IsNumeric(MyVar)    ' Returns False.
 
Nahlásit jako SPAM
IP: 88.103.236.–
Keny0
Návštěvník
2. 7. 2012   #4
-
0
-

Jedinej problem s IsNumeric() v českým Excelu je, že jako číslo bere "158,58" a nebere "158.58".#3 JoDiK

Nahlásit jako SPAM
IP: 88.100.129.–
JoDiK
~ Anonymní uživatel
987 příspěvků
3. 7. 2012   #5
-
0
-

#4 Keny
A co ti brání v českým excelu nejdřív změnit tečku na čárku?

Nahlásit jako SPAM
IP: 88.103.233.–
Keny0
Návštěvník
4. 7. 2012   #6
-
0
-

#5 JoDiK
Krom práce navíc nebo možnosti změny čárky tam, kde se měnit nemá nic. Osobně tedy pokud není předem jasné jestli budou mít čísla des. čárku nebo tečku používam fci., které dá šanci Isnumeric() a pokud řetězec není číslo, otestuje jestli to není číslo s des. čárkou.

Nahlásit jako SPAM
IP: 88.100.129.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

Jaký zadat typ dat v PhpAdmin — založil Shockwave

JCheckBox v buňce JTable — založil Whowky

Odchycení stisknutí tlačítka — založil Jiří Sokolovský

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý