"inteligentní" vložení čísla na nový řádek – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

"inteligentní" vložení čísla na nový řádek – Visual Basic – Fórum – Programujte.com"inteligentní" vložení čísla na nový řádek – Visual Basic – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Pokys
~ Anonymní uživatel
2 příspěvky
6. 4. 2012   #1
-
0
-

Dobrý den,
mám takový dotaz a ač jsem to zkoušel všelijak vyřešit jsem ve VB opravdu začátečník.

K věci:
Problém je v tom, že mám vytvořený list (v Excelu) kde po kliknutí na butonku "další řádek" by to mělo vložit pod poslední řádek nový s pořadovým číslem o jedno větším než byl předchozí. Až sem jsem vše zvládl. Problém nastává v případě, kdy je potřeba vložit místo čísla řádku třeba číslo s písmene. Excel poté bere tento formát samozřejmě jako text a hází to logicky Error.
Koukněte mi na to prosím a poraďte jak by jste tuto část scriptíku řešili.

Náhled části kódu:
 

' inteligentně doplní číslo pol. a označí první buňku nového řádku
Do
x = x + 1
Loop Until Cells(PrvniVolnyRadekDvere - x, 1) <> 0
Cells(PrvniVolnyRadekDvere, 1) = Cells(PrvniVolnyRadekDvere - x, 1) + 1
Cells(PrvniVolnyRadekDvere, 3).Select

Za všechny rady předem velice děkuji.
Pokorný

Nahlásit jako SPAM
IP: 213.226.230.–
Reklama
Reklama
liborb
~ Redaktor
+18
Guru
6. 4. 2012   #2
-
0
-

Jestli chceš vložit do buňky, co je formátována jako číslo, text (znak(y)), tak ta chyba je správně a bude tedy potřeba změnit formát buňky nebo to špatně chápu?

Zasláno z mobilního telefonu.

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

Tak to nakonec vyřešil ještě v pátek můj nadřízený celkem elegantně. Pro náhled:

Do
    x = x + 1
    Loop Until Cells(PrvniVolnyRadekDvere - x, 1) <> 0
    kontrola = IsNumeric(Cells(PrvniVolnyRadekDvere - x, 1))
    If kontrola = True Then
        Cells(PrvniVolnyRadekDvere, 1) = Cells(PrvniVolnyRadekDvere - x, 1) + 1
        Cells(PrvniVolnyRadekDvere, 3).Select
    Else: Cells(PrvniVolnyRadekDvere, 1).Select
    End If

Za rady i tak moc děkuji.

Nahlásit jako SPAM
IP: 213.226.230.–
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, 13 hostů

Moderátoři diskuze

 

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