Nejste přihlášen/a.
Mám makro, které hodí hlášku ve kterém napíšu nějaké číslo a v určité buňce se uloží. To funguje. Ale já potřebuju, aby se přepsala pouze poslední tři čísla. Mám třeba v F9 "123321" a já napíšu jen "999" a v buňce bude "123999".
Přidávám zbytek kódu :
For MyNum = 1 To 100
DoSomething = MyNum
Next
Číslo = Application.InputBox("Buňka F9", "Zadej číslo", Type:=5)
Range("F9") = Číslo
Děkuji
Trochu mi to zde koliduje. Nebylo by lepší, kdyby se nejdříve smazali tři poslední (bez odhledu počtu číslic) a poté se tam přidali? Takto mi to stále koliduje..
Tak jak jste to napsal, tak se to číslo poté přičte.. Nevíte, jak to udělat, aby se pouze připsalo? Děkuji
Co koliduje, co přičte? Tohle má jedinou vadu, že to nefunguje s desetinnejma číslama. Myslíte připsání, jako že to odtrhne tři čísla od konce a připíše zadanou hodnotu, takže z 123456 při zadání 4 nedostanete 123004, ale 1234, a z 123456 po zadání 555555 nebude 678555, ale 123555555? Pak místo toho řádku použijte tohle:
Range("F9") = Fix(Range("F9"))
Range("F9") = CDbl(Left(Range("F9"), Len(Range("F9")) - 3) & CStr(Číslo))
Ano, poslední tři to sice smaže, poté zadám nějaké čísla a ty nahradí další tři. Tzn. Původní 111111111 poté se tři smažou, čili 111111, v okénku napíši např 500. místo 111111500 mám 111500.
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.