Guest Raubiri Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Zdravím, neměl by někdo ponětí jak upravit následující vzorce, tak, aby se vybrala vždy jedna správná varianta a podle toho to fungovalo? Zatím to nefunguje. Dík za rady :-) If Cells(1, 18) >= 10 & Cells(1, 18) < 100 & Cells(1, 19) >= 10000 & Cells(1, 19) < 99999.99 Then Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 0000000\" & Range(\"R1\") & \"\" Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" Else End If If Cells(1, 18) >= 10 & Cells(1, 18) < 100 & Cells(1, 19) >= 100000 & Cells(1, 19) < 999999.99 Then Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 000000\" & Range(\"R1\") & \"\" Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" Else End If If Cells(1, 18) >= 10 & Cells(1, 18) < 100 & Cells(1, 19) >= 1000000 & Cells(1, 19) < 9999999.99 Then Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 00000\" & Range(\"R1\") & \"\" Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" Else End If If Cells(1, 18) >= 100 & Cells(1, 18) < 1000 & Cells(1, 19) >= 10000 & Cells(1, 19) < 99999.99 Then Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 0000000\" & Range(\"R1\") & \"\" Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" Else End If If Cells(1, 18) >= 100 & Cells(1, 18) < 1000 & Cells(1, 19) >= 100000 & Cells(1, 19) < 999999.99 Then Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 000000\" & Range(\"R1\") & \"\" Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" Else End If If Cells(1, 18) >= 100 & Cells(1, 18) < 1000 & Cells(1, 19) >= 1000000 & Cells(1, 19) < 9999999.99 Then Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 00000\" & Range(\"R1\") & \"\" Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" End If Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest StibTo Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Pro zacatek zkus \"&\" nahradit \"And\" Jelikoz \"&\" je pro retezeni tzn Ti to k predchozimu pridava, kdezto AND je VBA podminka (If ... And .. If ... Or .. Then) Dej vedet. Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest StibTo Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Napriklad (pro SHEET1) --------------------------------------------------------- With Sheet1 If _ .Cells(1, 18) >= 10 And .Cells(1, 18) < 100 And .Cells(1, 19) >= 10000 And .Cells(1, 19) < 99999.99 Then .Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 0000000\" & .Range(\"R1\").value & \"\" .Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" End If If _ .Cells(1, 18) >= 10 And .Cells(1, 18) < 100 And .Cells(1, 19) >= 100000 And .Cells(1, 19) < 999999.99 Then .Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 000000\" & .Range(\"R1\").value & \"\" .Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" End If If _ .Cells(1, 18) >= 10 And .Cells(1, 18) < 100 And .Cells(1, 19) >= 1000000 And .Cells(1, 19) < 9999999.99 Then .Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 00000\" & .Range(\"R1\").value & \"\" .Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" End If If _ .Cells(1, 18) >= 100 And .Cells(1, 18) < 1000 And .Cells(1, 19) >= 10000 And .Cells(1, 19) < 99999.99 Then .Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 0000000\" & .Range(\"R1\").value & \"\" .Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" End If If _ .Cells(1, 18) >= 100 & .Cells(1, 18) < 1000 And .Cells(1, 19) >= 100000 & .Cells(1, 19) < 999999.99 Then .Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 000000\" & .Range(\"R1\").value & \"\" .Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" End If If _ .Cells(1, 18) >= 100 & .Cells(1, 18) < 1000 And .Cells(1, 19) >= 1000000 & .Cells(1, 19) < 9999999.99 Then .Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 00000\" & .Range(\"R1\").value & \"\" .Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" End If End With --------------------------------------------------- Ale zatim mi to v Excelu hlasi chybu, to proto, ze tam nemam definici promenne \"i\" a \"n\" a nejspis jeste neceho dalsiho .... Ten zapis \"i + radek + 1\" je nejaky divny, chtelo by to, abys napsal, co presne to ma delat a kam presne Ti to ma vyhazovat Ty hodnoty. [upravil dne 12/12/12 09:20 od StibTo] Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest Raubiri Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Udělal jsem... a buď mi to teda nesplňuje podmínky...nebo je někde zakopanej pes, ale nefunguje to... If Cells(1, 18) >= 10 And Cells(1, 18) < 100 And Cells(1, 19) >= 10000 And Cells(1, 19) < 99999.99 Then Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 0000000\" & Range(\"R1\") & \"\" Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" Else End If If Cells(1, 18) >= 10 And Cells(1, 18) < 100 And Cells(1, 19) >= 100000 And Cells(1, 19) < 999999.99 Then Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 000000\" & Range(\"R1\") & \"\" Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" Else End If If Cells(1, 18) >= 10 And Cells(1, 18) < 100 And Cells(1, 19) >= 1000000 And Cells(1, 19) < 9999999.99 Then Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 00000\" & Range(\"R1\") & \"\" Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" Else End If If Cells(1, 18) >= 100 And Cells(1, 18) < 1000 And Cells(1, 19) >= 10000 And Cells(1, 19) < 99999.99 Then Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 0000000\" & Range(\"R1\") & \"\" Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" Else End If If Cells(1, 18) >= 100 And Cells(1, 18) < 1000 And Cells(1, 19) >= 100000 And Cells(1, 19) < 999999.99 Then Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 000000\" & Range(\"R1\") & \"\" Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" Else End If If Cells(1, 18) >= 100 And Cells(1, 18) < 1000 And Cells(1, 19) >= 1000000 And Cells(1, 19) < 9999999.99 Then Cells(i + radek, \"Q\") = \"S1:000\" & n & \" 00000\" & Range(\"R1\") & \"\" Cells(i + radek + 1, \"Q\") = \"S3:00000 000000000000\" End If Nevím jestli ten rozsah nejde udělat nějak pro excel srozumitelněji... Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest Raubiri Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Věcná...proč máš před tečky před cells a and? Má to udělat příkaz do bankovnictví z daných hodnot. Jde přes SZ poslat soubor? Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest Raubiri Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Poslal jsem ti na mail celou tabulku, abys měl lepší přehled o tom co to má dělat a z čeho Každopádně díky za každou radu [Edited on 12/12/12 08:31 by Raubiri] Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest StibTo Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Ty tecky jsou tam misto toho abych psal \"Sheet1.cells(1,18) = ...\" ..... Takze na zacatek hodis \"With Sheet1\" a na konec \"End With\". Pouzivam to hlavne proto abych mel jistotu ze se makro spusti pouze v te konkretni zalozce a ne kdekoliv jinde Mrknu na Tvuj email..... Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest Raubiri Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Jo takhle Dík. Třeba budeš moudřejší, když to budeš mít komplet Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest StibTo Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 No moc nejsem hele .... Je toho tam v tom kodu jak nastlano a neni to psane moc prehledne takze se obavam, ze neporadim Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest Raubiri Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 No nevadí je to psané prasácky...to vím..naštěstí to z velké většiny tvořil bejvalej kolega, kterej byl prase sám o sobě...a tak sem se snažil to aspoň upravit tak, aby to bylo použitelný...ale zdá se, že to raději vytvořím znovu...bude to nejspíš i úspora času:) a to už tam půlka není Jen se tedy zeptám, jsi očividně šikovnější.... Když chci aby to porovnalo dvě podmínky... tak začínám if...podmínka...then co má udělat a potom else? End if Nebo se tam dá dát místo else jiný operátor který by posunul v případě nesplnění podmínky na další podmínku? Každopádně dík za ochotu Edit: pokud mě to ale nasere..tak tam nechám jen aby to doplňovalo a budu to pak upravovat ručně Co bych se s tím rozčiloval :-D [Edited on 12/12/12 09:03 by Raubiri] Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest StibTo Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Da se to nekonecne vrstvit ..... Treba : Kdyz policko A1 (cells(1,1) NENI prazdne (Not IsEmpty) potom pokud je hodnota v policku A1 mensi nez 10 a zaroven hodnota policka A2 je slovo YES pak Excel \"pozdravi\" \"Dobry den\", pokud tomu tak neni overuje dalsi podminku, pokud ani ta nevyjde pozdravi \"Dobre poledne If Not IsEmpty(Sheet1.cells(1,1)) then If sheet1.cells(1,1) < 10 And sheet1.cells(2,1) = \"YES\" then Msgbox \"Dobry den\" ElseIf sheet1.Cells(1,1) < 10 And sheet1.cells(2,1) = \"NO\" then Msgbox \"Nashledanou\" Else Msgbox \"Dobre poledne\" End if End if Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest StibTo Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Z vlastni zkusenosti muzu poradit spis tu moznost ze to cely smazes a napises si to znovu a sam Nez rozebirat prasackej kod nekoho jinyho a snazit se ho pochopit. A mimochodem jeste prehlednejsi zapis ma VBA funkce \"Select Case\" Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest Raubiri Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 no možná už vím kde tam mám chybičku...každopádně to přepíšu od začátku. Jinak jsem koukal na to druhé vlákno a tam je též spoustu zajímavých informací :-) tak jak bude čas, tak to začnu študovat. Díky za nakopnutí správným směrem Pak dám vědět, zda se podařilo, případně sem dám celý kód třeba to pak pomůže někomu dalšímu Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest StibTo Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 No klidne to dej sem nebo i do tamtoho vlakna Uz je sice takovy mrtvy ale jeden cas jsem tam celkem dost psal. Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest Raubiri Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Koukal jsem, že sis psal sám sobě Dám to asi tam, aby to bylo pohromadě Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest StibTo Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Jo jo presne takovej pocit jsem z toho mel Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
sloters Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 No asi narážíš na mě,viď Ze začátku mi to dost pomohlo,ale s VBA jsem se moc nezkamarádil a upravoval jsem to co bylo nezbytně nutné. Navíc se od ledne posouvám na jinou pozici,takže VBA dostane nový kolega Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest StibTo Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 Ne v pohodě tak jsem holt aktivnější mno Takže se toho od ledna nakonec zbavíš, jo ? To taky neuškodí někdy. Hehe Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
sloters Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 No měl bych se toho zbavit.Pokud se zase něco nezmění Já tu práci úplně neopustím,ale už se nebudu muset hrabat ve všech datech a pro mě budou už jen ty výstupy. Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Guest StibTo Odesláno 12. prosinec 2012 Sdílet Odesláno 12. prosinec 2012 To nemelo skoro cenu se to snazit naucit na tak kratkou dobu co I kdyz ono to leti rychle - je to asi trictvrte roku co jsi zakladal tamto vlakno .. Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Recommended Posts
Zúčastnit se diskuse
Můžete odpovědět a až poté se registrovat If you have an account, sign in now to post with your account.