První, základní, pro začátečníky nezbytné je "Option explicit".
http://www.excel-easy.com/vba/examples/option-explicit.html
Pokročilí mohou o (ne)užitečnosti diskutovat.
F je premenna typu float..
Neznám takový typ, že by Variable? Tady k tomu není důvod.
Fcesta, Fjmeno jsem vzal z tvého kódu. Předpokládal jsem FileCesta, FileJmeno.
To Fjmeno můžeš deklarovat taky jako String a přiřadit do něj cokoli, třeba i Datum.
Dim Fjmeno As String
Fjmeno = "file_" & 123 & "_" & Format(Now, "d.m.yyyy") & ".pdf"
No to je to o čem píšu.
Když zadáš 100 jednotek a min 3 lidi, dostaneš max 3 skupiny, další nepřidělíš.
Když zadáš 600 jednotek, tak máš v jedné skupině všech 15 lidí, ne max 7.
Když zadáš 400 jednotek, tak vytvoříš jednu skupinu na 400 jednotek a zbudou ti lidi s 200 jednotkami, které už nikam nepřidělíš.
Musíš být konkrétnější.
Cmuch má pravdu!
No a vzhledem k tomu, že cislotr je Long nemáš tam příponu "pdf".
Option Explicit
Sub odoslat_report()
Dim FCesta As String, Fmeno As Long
FCesta = ThisWorkbook.Path & "\"
Fmeno = ActiveSheet.Range("B4").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FCesta & "-" & Fmeno & ".pdf"
End Sub
To se tu probírá pravidelně. Nebuď líný. http://wall.cz/index.php?m=topic&id=21451
Počet skupin je 6. To je konstantní počet? Musí být naplněny všechny skupiny tj.6? Nebo může být počet skupin různý podle zadání minimálního počtu lidí ve skupině, nebo podle jednotek na skupinu?
Uvádíš 6 skupin a minimálně 3 lidi ve skupině, přičemž se člověk nesmí opakovat (3*6=18) a máš 15 lidí?!
Co když navolíš jiný počet jednotek, třeba 200, celkový 600, kolik má být skupin?
I když bude počet lidí pravděpodobně různý, co když v tom Formu navolíš hodnoty, kterým nepůjde vyhovět?
Nějací lidi zůstanou. Všechny tyto podmínky bys mněl mít ujasněné, než začneš psát nějaké makro. Myslím, že bys mněl vybrat jeden parametr z předdefinované nabídky a ostatní odvodit.
Nebo jak píše ELCHA:
Vyhledá to všechny možné kombinace a z nich už si potom sám můžete vyselektovat, které chcete.
Pro A2:.Offset(.CurrentRegion.Rows.Count - 1, 0).Value = Sheets("zadat dokument").Range("B2").Value
Třeba takto.
nebo taktoPrivate Sub CommandButton2_Click()
Dim Cesta As String, Adresar As String, Jmeno As String
Cesta = "C:\User\215781\"
Adresar = Format(Now, "yyyymmdd")
Jmeno = "\poptavka" & Adresar & ".xlsm"
On Error Resume Next
If IsError(GetAttr(Cesta & Adresar)) Then MkDir Cesta & Adresar
On Error GoTo 0
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=Cesta & Adresar & Jmeno
''ActiveWorkbook.SaveCopyAs Filename:=Cesta & Adresar & Jmeno
Application.DisplayAlerts = True
End Sub
Run vs Call - ano pokud nejsou prc Private.
Chyba - Unload je nutno dát před příkaz zavřít.
Chování programu - pokud zavírám Close, tak VBA některé příkazy ignoruje. Ale SendKeys CTRL F4 projde!
Ahoj lidi! Chci z UserFormu přes ComandButton zavřít sešit.
Před zavřením ho chci ale nějak upravit. Pokud je otevřený pouze tento jeden sešit je to OK. Ale pokud jsou otevřené např.dva tak úprava zavíraného sešitu neproběhne. Dělám něco špatně, nebo je to jedna ze zvláštností Excelu?
No hlavní problém je, že stiskem některých kláves se dostaneš do editačního módu a tím pádem procedura skončí. Lze to ale řešit buď příkazovým tlačítkem, nebo změnou "selection". Oba způsoby máš v příloze.
Když první je slpcA, druhá je slpcB, pal do slpcC=KDYŽ(JE.ČISLO(POZVYHLEDAT($A$1:$A$7;VLEVO($B$1:$B$4;2);0));INDEX($B$1:$B$4;POZVYHLEDAT($A$1:$A$7;VLEVO($B$1:$B$4;2);0));$A$1:$A$7)zadat jako maticový
Ahoj lidi! Snažím se (VBA) v UserForm-TextBoxu nastavit dvě různé velikosti písma.
Googl tvrdí, že to možné není. Má někdo jiný názor a ví jak?
Nevidím důvod, proč by to nemělo fungovat. A bez přílohy, kde je vidět jak a co děláš, ho neuvidí asi nikdo.
Pravděpodobně máš ten program v nějakém cyklu.
Pak můžeš použít všechny způsoby, které si uvedl. Na konci cyklu před "Next" dej příkaz "DoEvents" a pak vyhodnocení stavu, podle zvoleného způsobu.
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.