V takových případech se stává, že máte číslo uloženo jako text a excel na tuto chybu upozorňuje zeleným trojúhelníčkem v levém horním rohu buňky.
Po najetí myší na buňku se zobrazí vykřičník a po kliknutí na něj se zobrazí malá nabídka, kde pak stačí zvolit "Převést na číslo". Nezapomeňte si označit všechny buňky.
Zobrazení aktuálního data v textboxu:
TextBox1.Text = Date
Zobrazení následujícího data v textboxu:
TextBox1.Text = Date + 1
Vzorec na výpočet svátků neexistuje. Co se týče výpočtu pracovních dní, tak vyzkoušejte funkci WORKDAY. Více na http://office.microsoft.com/cs-cz/excel/HP052093391029.aspx
Jestli jsem to dobře pochopil, tak v té druhé tabulce budou součty směn dnů v týdnu. V příloze je moje řešení.
Použil jsem vyhledávací funkci SVYHLEDAT. Musel kvůli tomu prohodit sloupce tak, aby první sloupec by Typ.
Pokud vyhledávací funkce nic nenajde jedná se o první výměnu a Počet dní a Počet stránek = 0. Když tak si vzorec můžete ještě upravit. Řešení je v příloze.
=KDYŽ(JE.CHYBHODN(SVYHLEDAT(B11;$B$3:$C10;2;0));0;C11-SVYHLEDAT(B11;$B$3:$C10;2;0))
Lze za použití VBA funkcí LEN, RIGHT, LEFT, MID pro rozdělení textu nebo pak použitím funkce SPLIT vytvořit pole a to pak načíst do buněk.
Chyba se zobrazí, pokud označím oblast buněk a provedu změnu (výmaz). Mělo by stačit jen ošetřit chybu. Takhle by to mělo být OK.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo x
If Target.Value = "Vadná odeslána" Or Target.Value = "Vadná odeslána - Galway" Then
Target.Cells(, 2) = Date
End If
x:
End Sub
Sub oblast()
Dim myRange As Range
Dim FirstCell, LastCell As Range
Set myRange = Application.InputBox(prompt:="Select a cell", Type:=8)
With myRange
Set LastCell = .Cells(.Cells.Count)
Set FirstCell = Cells(.Row, .Column)
End With
End Sub
Myslím, že "kolokol" to udělal dobře. Jen jsem doplnil kontrolu chyb. Názvy listů budou v buňkách B2:B11 = udělal jsem malou tabulku jako menu.
První list slouží jako menu a makro s ním nepracuje. Kód jsem vložil do listu s menu.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
On Error GoTo chyba
For x = 1 To 10
If Range("B" & x + 1) <> "" Then Worksheets(x + 1).Name = Range("B" & x + 1)
Next x
Exit Sub
chyba:
MsgBox "Název listu musí být jedinečný. Zadejte jiný název listu", vbCritical, "Chyba zadání"
End Sub
Pokud se jedná o jednorázový převod, tak na to bych použil funkci =MALÁ(text).
Stačí zadat Range("A1").Select
Příkazem Sheets("leden").Select
Službu jsem nepoužil, ale mám to v plánu. Zatím hledám a vybírám. Chci to integrovat do SL.
Ano, tohle je makro. Dělám to samé co vy. Těch souborů mám 30. Makro lze spustit "Nástroje/Makro/Makra" (Alt + F8) nebo lze makro vyvolat tlačítkem. O tomto způsobu jsem již psal v článcích.
Tak do buňky A1 vložte vždy ten název listu, který chcete právě zobrazit.
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.