Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  9 10 11 12 13 14 15 16 17   další »

Opičák byl rychlejší, tak jen soubor s řešením. Snad jen poznámka, že další cesta je přes makro v Module, ale to v Initialize Userformu je lepší.

Není to napasované na tvůj kód, je to jen pro inspiraci.
Osekal jsem to ze svého velkého díla, kde se po prvním otevření objeví formulář na vstupní údaje. Kontrola vyplnění je zjednodušená, spojená a bez Msgboxů, jen červený text, který zase zmizí. Po zadání čísel a uložení souboru se po druhém puštění už formulář neobjeví. To jsem měl tak u sebe, nechal jsem to tam, ale ta kontrola Texboxů tam je.

Na obou listech nabídky, snad to bude fungovat.

Ne, to není na 10 řádků. Když je počet volných řádků na listu nabídka menší než počet řádků kopírovaných z nabídka_im, neprovede se.
Mě osobně tam ještě vadí to pevné rozmezí 24-124. Chápu, nebude se třeba měnit, ale já se snažím dělat vše univerzálně, tak aspoň bych ty meze dal jako proměnnou (start, konec apod.) a v kódu místo pevných čísel všude ty proměnné. Pak je změna snadná.

Kontrola místa.

To mé řešení fungovalo na mém testovacím souboru, na tvém opravdu NE.
Něco jsem zkusil, kopíruju celou oblast z listu nabídka_im a upravil jsem to skrytí řádků. Na listu nabídka_im mohou být prázdné řádky mezi daty? Není ošetřené to, když řádků bude moc a na listu Nabídka polezou za 124.

Zkus změnit začátek takhle:
posled = Cells(Rows.Count, "C").End(xlUp).Row
For x = 24 To 124
With Sheets("Nabídka_im")
If .Cells(x, 2) = "" And .Cells(x, 3) = "" And .Cells(x, 8) = "" And .Cells(x, 9) = "" And .Cells(x, 10) = "" And .Cells(x, 11) = "" And .Cells(x, 12) = "" Then Exit For
Cells(posled + x - 23, 2) = .Cells(x, 2)
Cells(posled + x - 23, 3) = .Cells(x, 3)
Cells(posled + x - 23, 8) = .Cells(x, 8)
Cells(posled + x - 23, 9) = .Cells(x, 9)
Cells(posled + x - 23, 10) = .Cells(x, 10)
Cells(posled + x - 23, 11) = .Cells(x, 11)
Cells(posled + x - 23, 12) = .Cells(x, 12)
End With
Next
a pak už asi beze změny.

Něco jsem zkoušel, ten zápis
OldPointer = Application.Cursor
mi podle mě funguje, když předtím sám nastavím nějaký kurzor.
Ale po spuštění makra např.dlouhého cyklu, kdy uprostřed zjistím a Msgbox vypíšu typ kurzoru, mám vždycky default.
A taky se podle toho Excel chová: mám "kříž"-select. Pustím makro, default-šipka. Msgbox vypíše -4143 a teprve pak vidím "hodiny"-čekání. Po Ok je zase kříž.
Obávám se, že tady neporadím.

Nevím, jestli to chápu správně.
Application.Cursor mi vrací číslo, různé podle typu kurzoru. Tím číslem se zase dá kurzor zase nastavit.
A v tom kusu kódu je na konci xlDefault. Tak to celé končí s default kurzorem. Co je špatně?
xlDefault = -4143, xlWait = 2, atd.

To bude asi: Vzorce...Definované názvy...Správce názvů. Noční směna? 5

V mém excelu, i když se tváří jako český, líp funguje:
Range("Q54").FormulaR1C1 = "=TODAY()"

Z předchozího zachováno jméno v A1, list2.
Pro Userform napsat kód:
Private Sub UserForm_Initialize()
UserForm1.CommandButton1.Caption = Worksheets("List2").Range("A1").Text
End Sub
Po zobrazení "UserForm1.Show" by tam ten název měl být.

Pokud je to ActiveX. Tlačítko na List1, jméno v buňce A1 na List2, někde v makru řádek:
Worksheets("List1").CommandButton1.Caption = Worksheets("List2").Range("A1").Text

Sub Tisk()
ActiveSheet.Unprotect Password:="1234"
Rows("6:6").Select
Selection.EntireRow.Hidden = True
ActiveSheet.PrintOut From:=1, To:=1
Rows("6:6").Select
Selection.EntireRow.Hidden = False
ActiveSheet.Protect Password:="1234"
End Sub

Tam se mi ale vytrácí smysl toho hesla

Nevím zda to pomůže. Obvykle vzorce v řádku, sloupci mají v adresování buněk společné buď č.řádku či písmeno sloupce (když se chce využít kopírování). Pak bych se snažil nahradit (ctrl+h) vhodný řetězec v oblasti, např. A za $A$ nebo 4 za $4$.
Ale v dotazu to zrovna takhle není, tam by to nefungovalo.
Když bych měl opravdu hoooodně takových nesourodých buněk-vzorců, asi bych u vzorců nahradil = za např. %. Tak získám text: %B2, %C4 atd.
Pak už text funkcema rozsekat do pomocných sloupců, Concatenate doplnit dolary a složit, pak zase nahradit % za = a Ejhle, hotovo. 3


Strana:  1 ... « předchozí  9 10 11 12 13 14 15 16 17   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Současné rozplánování více projektů v Excelu.

eLCHa • 2.3. 22:03

Oddělovač polí

Milan-158 • 1.3. 16:01

Oddělovač polí

Whooocak • 1.3. 15:14

Vkládání dat z formuláře na zamknutém listu.

Milan-158 • 1.3. 15:12

Vlastne planovanie zmien

Anonym • 1.3. 7:56

Vkládání dat z formuláře na zamknutém listu.

Začátečník • 28.2. 19:34

Vkládání dat z formuláře na zamknutém listu.

Zdenys84 • 28.2. 19:05