Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  9 10 11 12 13 14 15 16 17   další » ... 18

AL napsal/a:

pokiaľ to excel skutočne berie ako dátum (číslo), a to som si skoro istý, že áno, tak .....

A to bude asi ten problém. Omlouvám se, že trochu odbočím, ale v posledních tématech několikrát bylo něco podobného, a zlobí to i mě a neumím to vyřešit. Po kopii dat makrem "Entruju", abych dostal férové datum! V příloze je soubor, kde je to popsáno víc a možné vyzkoušet. Já si to nakonec vyřešil tak, že na konci makra násobím *1. ALE proč to nemít na "první dobrou", k čemu pak je formát datum, k čemu pak je tvrzení, že po kopii "jako-hodnoty" zůstane zachovaný formát buňky?? Kdo mi tohle vysvětlí?
Lukas: to makro bych asi uměl, aspoň fragmenty potřebného už používám (hromadné nahrazení ve všech souborech adresáře, cykly přes pole, kde by byly ty hodnoty .1. atd), ale určitě ne hned, tak za 2-3 dny, když se to nevyřeší jinak.

Nojo, Díky. Ten příklad fakt nemůže takhle fungovat.
Cyklus se skončí, když to v oblasti už nenajde tu hodnotu. To s tou adresou tam je na nic.
(Zato to skvěle funguje, kdybych nesmyslně měnil 2 za 2).

To není věc co musím nějak vyřešit, je to příklad, který by asi měl fungovat, ale když si ho z www zkopíruju a pustím, nejde. A chtěl bych zjistit, kde je ta chyba v tomhle kódu.

Ahoj, v nedávném tématu byl odkaz na www microsoft, http://msdn.microsoft.com/en-us/library/office/ff839746.aspx kde je příklad kódu na nahrazení hodnoty v dané oblasti.
Když to zkouším dá mi chybu 91: Object variable or With block variable not set. Je to v cyklu Do -Loop. Kde mám co špatně?
Sub hledej_nahrad()
With Worksheets(1).Range("A1:A20")
Set c = .Find(2, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = 5
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub

Jen jako inspiraci dám soubor, už nevím odkud ho mám, je tam hledání v podadresářích, dá se zadat název souboru maskou a udělá seznam nalezených.
Na mě ale tak složité, že to nepředělám na tohle zadání.

Možná pomůže tohle téma.
http://wall.cz/index.php?m=topic&id=10709&page=1#post-10713
(nebo zde vyhledat "otevírání excelu")

Pozadí v excelu je jen tapeta na pozadí STRÁNKY, nemůže nijak souviset s vloženými tvary. Pozadí můžu jen vložit nebo pak smazat. Tak to aspoň znám já.
Tudíž platí to z 1.odpovědi, snad jen dodám, že do skupiny jdou přidat i ty spojovací čáry, obrázky, tvary, atd.

Jestli jde jen o excel, ne VBA, tak není potřeba žádná spojovací čára, stačí jen dát tvary do skupiny.
Oba tvary vybrat, pr.tlačítko, skupina, skupina.
V Menu je to při označených tvarech v podmenu Formát, Uspořádat, skupina.

Opičák byl rychlejší, tak jen soubor s řešením. Snad jen poznámka, že další cesta je přes makro v Module, ale to v Initialize Userformu je lepší.

Není to napasované na tvůj kód, je to jen pro inspiraci.
Osekal jsem to ze svého velkého díla, kde se po prvním otevření objeví formulář na vstupní údaje. Kontrola vyplnění je zjednodušená, spojená a bez Msgboxů, jen červený text, který zase zmizí. Po zadání čísel a uložení souboru se po druhém puštění už formulář neobjeví. To jsem měl tak u sebe, nechal jsem to tam, ale ta kontrola Texboxů tam je.

Na obou listech nabídky, snad to bude fungovat.

Ne, to není na 10 řádků. Když je počet volných řádků na listu nabídka menší než počet řádků kopírovaných z nabídka_im, neprovede se.
Mě osobně tam ještě vadí to pevné rozmezí 24-124. Chápu, nebude se třeba měnit, ale já se snažím dělat vše univerzálně, tak aspoň bych ty meze dal jako proměnnou (start, konec apod.) a v kódu místo pevných čísel všude ty proměnné. Pak je změna snadná.

Kontrola místa.

To mé řešení fungovalo na mém testovacím souboru, na tvém opravdu NE.
Něco jsem zkusil, kopíruju celou oblast z listu nabídka_im a upravil jsem to skrytí řádků. Na listu nabídka_im mohou být prázdné řádky mezi daty? Není ošetřené to, když řádků bude moc a na listu Nabídka polezou za 124.

Zkus změnit začátek takhle:
posled = Cells(Rows.Count, "C").End(xlUp).Row
For x = 24 To 124
With Sheets("Nabídka_im")
If .Cells(x, 2) = "" And .Cells(x, 3) = "" And .Cells(x, 8) = "" And .Cells(x, 9) = "" And .Cells(x, 10) = "" And .Cells(x, 11) = "" And .Cells(x, 12) = "" Then Exit For
Cells(posled + x - 23, 2) = .Cells(x, 2)
Cells(posled + x - 23, 3) = .Cells(x, 3)
Cells(posled + x - 23, 8) = .Cells(x, 8)
Cells(posled + x - 23, 9) = .Cells(x, 9)
Cells(posled + x - 23, 10) = .Cells(x, 10)
Cells(posled + x - 23, 11) = .Cells(x, 11)
Cells(posled + x - 23, 12) = .Cells(x, 12)
End With
Next
a pak už asi beze změny.


Strana:  1 ... « předchozí  9 10 11 12 13 14 15 16 17   další » ... 18

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje