1) aha, potrebujete upravit osu x - no tak to bude tezsi, ale jde to, zkusim dat dohromady vzorovy soubor...
2) =KDYŽ(A1="";NEDEF();"nic")
Pokud bude v oblasti dat grafu prazdna bunka - vzdy tam budete mit nulovou hodnotu. Chce to osetrit podminkou (vzorcem), aby se v takovem pripade zapsalo do bunky =NEDEF() - potom se v grafu nezobrazi nic...
Predne, kdyz mluvite o Office 2011 - mate asi Mac, protoze na PC je nejnovejsi verzi Office 2010.
Mac neznam, ale nepredpokladam zadne velke odlisnosti.
Defaultni format je dan predevsim lokalizaci vaseho Excelu - pokud mate anglickou verzi, bude datum nastaveno na mm.dd.yyyy - s tim se toho neda moc delat - leda upravit na vlastni format dd.mm.yyyy.
Pokud vim, ale nelze nikde zmenit defaultni format, ale treba je to u Maca jinak... nevim
aha, jeste navic jine sesity - lze to resit prepinanim mezi sesity a listy (.Activate nebo .Select)
zkuste prilozit soubory...
tenhle pristup mi normalne funguje - jen je potreba rict, ze .Copy (s pouzitim Cells) lze pouzit jen na aktivnim listu...
Zdravim,
nenasel jsem zadnou rychlou cestu, jak toho dosahnout, tak jsem musel trosku improvizovat.
Abych nasel posledni vyskyt vbNewLine v txtBOXu, obratil jsem retezec txtBoxu a v nem hledal vbNewLine, zjistenou pozici posledniho vyskytu vbNewLine jsem pak pouzil k uprave retezce txtBoxu.
Vysledek je v priloze...
Do modulu listu, na kterem toto potrebujete osetrit vlozte nasledujici kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Range("B1").ClearContents
End If
End Sub
Jen chci upozornit na nepresnost funkce WEEKNUM - ta neodpovida ceskym normam, v nekterych pripadem vrati spatne cislo tydne.
Tento vzorec je u nas v poradku: =USEKNOUT((A1-DENTÝDNE(A1;2)-DATUM(ROK(A1+4-DENTÝDNE(A1;2));1;-10))/7)
k nekterym funkcim listu lze pristoupit i z VBA pomoci Application.WorksheetFunction
Application.WorksheetFunction.VLookup("a", Range("A1:B5"), 2, 0)
Pokud mate ten v bunce A1, tak nasledujici vzorec nahradi mezery na podtrzitko '_'.
=DOSADIT(A1;" ";"_")
mezery lze samozrejme i odstranit:
=DOSADIT(A1;" ";"")
pri odstraneni by mozna bylo vhodne odlisit slova velkym pismenem:
=DOSADIT(VELKÁ2(A1);" ";"")
pokud je soubor '1' zaheslovan heslem 'heslo', lze ho otevrit takto:
Sub otevrit()
Dim Soubor As String
Soubor = "c:\Documents and Settings\profil\Plocha\1.xlsx"
Workbooks.Open Filename:=Soubor, Password:="heslo"
End Sub
Zajimavy dotaz - protoze neznam odpoved, zkousel jsem patrat a googlit, ale nikde jsem nenasel uspokojivou odpoved, ktera by fungovala.
Jedine reseni, ktere vidim je tedy pouzit metodu SendKeys, ktera simuluje stiknuti klaves na klavesnici - ALE TADY POZOR - je opravdu velmi nutne tuto metodu pouzivat je tam, kde si budete jisti, ze udela to spravne, protoze muze napachat hodne skody!
V prikladu nize metodu pouziji v MsgBoxu, kde budu chtit, aby vybrala tlacitko NE, ktere neni pri objeveni se MsgBoxu aktivni (musi se nedriv stiknout sipka doprava a pote teprve Enter) - podobne byste to mohl vyuzit pro automaticke odkliknuti hlasky, ktera vas otravuje.
Sub neco()
Dim Zprava As VbMsgBoxResult
Application.SendKeys ("{RIGHT}" & "{ENTER}")
'simuluje vybráni tlacitka NE v MsgBoxu (nejdriv posun sipkou doprava a stisk ENTER)
Zprava = MsgBox("Co chcete udelat", vbYesNo, "Nazev")
Select Case Zprava
Case vbYes
MsgBox "Vybráno ANO"
Case vbNo
MsgBox "Vybráno NE"
End Select
End Sub
a co vam nefunguje, jakou chybu hazi - zkousel jsem to a MSGbox se normalne zobrazi...
mozna takto
na zacátek tveho makra vloz:Application.EnableEvents = False
a na konec:
Application.EnableEvents = True
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.