Zdravim,
vnorit funkci KDYZ samozrejme jde, ale problem je pocet vnoreni.
Excel 2003 je omezen maximalnim poctem 7 vnoreni
Excel 2007 ma toto omezeni jiz nastavene na 64
zalezi tedy, kterou verzi pouzivate, ale vzorec samozrejme napsat jde:
=KDYŽ(D3<200000;"<200 000";KDYŽ(D3<300001;F3;KDYŽ(D3<400001;G3;KDYŽ(D3<500001;H3;KDYŽ(D3<600001;I3;KDYŽ(D3<700001;J3;KDYŽ(D3<800001;K3;KDYŽ(D3<900001;L3;"mimo rozsah"))))))))...tento je dost tezkopadny, tak by mozna bylo lepsi stanovit zacatek (200 000) a krok (100 000) jako hodnoty bunky (zacatek B6; krok C6), tak lze napsat ten vzorec kratsi:
=KDYŽ(NEBO(D3<B6;D3>900001;D3=B6);"mimo rozsah";INDEX($F$3:$L$3;1;ZAOKR.NAHORU((D3-B6)/C6;1)))
Jen tak v rychlosti...ani jsem to nezkousel, takze nevim, jestli to funguje tak, jak ma...zkuste to!
V sesitu chybí dve knihovny:
1) Universal 1.0 Type Library
2) CalAdapter 1.1 Type Library
- podle ocekavaneho umisteni by obe mely byt spojene s nejakym programem k Nokii.
Pokud na pocitaci, kde tyto knihovny nejsou spustite makro, dojde k chybe. Otazka je, jestli tyto knihovny k behu makra potrebujete nebo je mate v Referencich zaskrtle 'navic'.
Zkuste v referencich odskrtnout obe tyto knihovny (budou oznaceny MISSING: jmeno knihovny) a mohlo by to fungovat (pokud teda ty knihovny nejsou potreba)
Neznam pozadi problemu ani rozvrzeni listu, takze nehodlam komentovat logiku kodu, jen navrhuji upravy:
Private Sub CommandButton3_Click()
Sheets("Harok2").Select
Rows(5).EntireRow.Copy '5 je natvrdo stanoveny radek, který se bude kopirovat
Sheets("Harok1").Select
Range("A26").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Radek = ActiveCell.Row
Sheets("Harok1").Cells(Radek, 13) = Sheets("Harok1").Range("x5").Value/100
If ActiveCell.Row >= 51 Then
ActiveCell.Insert
End If
End Sub
Myslim, ze nemluvim jen za sebe, kdyz reknu:
1) nehodlam nekomu delat domaci ukoly (a to zadani na me tak pusobi)
2) neni mozne neco takove udelat, kdyz neni prilozen soubor
Precti si prvni prispevek na foru - pravidla fora - o tom, jak klast dotazy!!!
http://wall.cz/index.php?m=topic&id=8351
Neco podobneho se resilo tady: http://wall.cz/index.php?m=topic&id=6671
...treba se to bude hodit!
...ta tecka za cells by jen preklep (funguje to bez toho)
k tomu vzorci:
Sheets("Harok1").Cells(Radek, 8).Formula = "=" & Cells(Radek, 5).Address (False, False) & "*" & Cells(Radek, 7).Address (False, False)
Ty 'False' v zavorkach jen rikaji, ze adresy ve vzorci nemaji byt zafixovany pomoci $
Nechce se mi studovat tvuj kod, ale funkci, kterou jsem vlozil vyse (celou), vlozis jako novou proceduru do nejakeho modulu v tvem sesitu a pak ji muzes pouzivat:
v tvem kodu bude neco takoveho:
Cesta = "C:\.....\" 'samozrejme to nebude stanoveno natvrdo - to zvladnes sam
Nazev = "nazev.xls" 'samozrejme to nebude stanoveno natvrdo - to zvladnes sam
If ExistSoubor(Cesta & Nazev) = True then
MsgBox "Soubor uz existuje"
Else
MsgBox "Soubor jeste neexistuje"
End If
Jestli potřebujete zjistit, jestli existuje nejaky soubor s presne zadanou cestou (tedy cesta k adresari a presny nazev souboru, napr. "C:\TEST\test.xlsx"), lze pouzit tuto funkci, kde parametrem bude prave cela cesta k souboru
Public Function ExistSoubor(FullName As String)
Set FSO = CreateObject("Scripting.FileSystemObject")
ExistSoubor = FSO.fileexists(FullName)
End Function
- funkce vraci bud 'True' nebo 'False'
...nebo lze pouzit objekt FileSystemObject sam o sobe v kodu...
co takto?
zkuste se podívat na funkci SVYHLEDAT (angl. VLOOKUP)
jen pozor na to, co psal Jeza - pokud bude ve sloupci nejaka hodnota chybet (prazdna bunka), tak bude vysledek spatne!!!
Mne se osvedcilo pri hledani prvniho prazdneho radku ve sloupci A toto :
cells(65000,1).end(xlup).row + 1
65000 je aproximace posledniho radku listu (pro Excel 2003, pro pozdejsi verze samozrejme vice nez 1 000 000)
Pokud vim, tak zadna takova funkcionalita ve wordu neni (a divil bych se kdyby byla)
Formatovani kodu ve VBE je jen funkce editoru VBA a samotny text (chcete-li kod) neni nijak formatovan.
Zkuste pouzit postup v uvedenem odkazu - procedura, ktera upravi formatovani Wordu, aby text vypadal, jako kod... http://www.vb-helper.com/howto_format_code_in_word.html
No tak, jestli mas polozky zapsane v bunkach, tak samozrejme lze pouzit rowsource i additem...
Adresa pro rowsource muze byt generovna tesne pred vlozenim a AddItem muze bezet podobnym zpusobem...
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.