Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  5 6 7 8 9 10 11 12 13   další » ... 42

CFC48 napsal/a:

Bylo by mozné, aby se toto makro spustilo pri kazdem otevreni souboru?

Vložit makro do Workbook_Open a nebo z Workbook_Open spustit již vytvořené makro.

Možné to je, ale nejdřív zítra 1

Nebo někdo jiný.

CFC48 napsal/a:

Nic to nedela, tak nevim jestli se to makro vubec spusti.Díky
Samo se nespustí. To mu musíte nějak říct, aby se spustilo 1

Čekal jsem, že pošlete soubor s tím makrem, které vám nefunguje.
Makro jsem vám vložil do modulu. Spouští se tlačítkem z listu. Netuším, jak to má přesně fungovat. Jestli se mají buňky zamknout při otevření sešitu, při uzavření nebo to bude navázané na jiné makro...

Tak jestli to dělá to co potřebujete, tak je to fajn.

Nějak takhle?

Ještě záleží na tom, jak ta pravidla chcete uplatňovat. Jestli bude jen jedno pravidlo pro všechny buňky nebo na každou buňku jiné pravidlo nebo se bude podle něčeo vybírat...

ActiveCell.Comment.Text Text:=Left(ActiveCell.Comment.Text, 3) nebo ActiveCell.Comment.Text Text:=Replace(ActiveCell.Comment.Text, "f", "7")

Třeba takto. Výsledky zapisuje do buňky.
Jinak mrkněte třeba sem: https://office.lasakovi.com/excel/vba-funkce-vzorce/Textove-funkce-ve-VBA-Excel/

Sub koment()

Range("B1").Value = Range("A1").Comment.Text
'1.
Range("B2").Value = Left(Range("A1").Comment.Text, 3)
'2.
Range("B3").Value = Replace(Range("A1").Comment.Text, "def", "")

'3.
Text = Range("A1").Comment.Text
Range("B4").Value = Left(Text, InStr(1, Text, "(") - 1) & Right(Text, Len(Text) - InStr(1, Text, ")"))

'4.
Range("B5").Value = Replace(Range("A1").Comment.Text, "f", "7")
End Sub

tady v souboru

Když se zaregistrujete a vložíte sbalený soubor, tak se můžeme bavit konkrítně.
Makro nevkládejte do modulu, ale přímo do listu - viz. přiložený obrázek

Soubor není přiložen.
Soubor s makrem se musí sbalit

Musí být samozřejmě zamknutý list.
Buňky do kterých se má zapisovat musí mít vypnutý zámek.
Nedělal bych rozsah A:A, ale podle skutečného rozsahu (v příkladu je A1:A20)
List se v makru musí pojmenovat podel skutečnosti, případně doplnit i "Workbook" pokud se makro nebude spouštět přímo z procedury v listu.

Sub klouzavyZamek1()
Dim cell As Range

'odemknout list
Sheets("List1").Unprotect

'nastavit zámek v buňce ve sloupci B, která odpovídá podmínce
For Each cell In Range("A1:A20")
If cell.Value >= Date And cell.Value < Date + 14 Then
Cells(cell.Row, 2).Locked = True
End If
Next

'zamknout list
Sheets("List1").Protect

End Sub

=ČAS(CELÁ.ČÁST(A1/100);ZPRAVA(A1;2);0)-ČAS(CELÁ.ČÁST(B1/100);ZPRAVA(B1;2);0)

Ještě bych upravil toto: If UserForm1.Controls("TextBox" & druhySloupec).Value > "" Then na toto: If UserForm1.Controls("TextBox" & druhySloupec).Value <> "" Then

Pravý sloupec, čtvrtý TextBox od spodu je TextBox140. Další (třetí odspodu) je TextBox142. Chybí TextBox141.
Takže přejmenovat poslední 3 TextBoxy v pravém sloupci.

Tím pádem se změní cyklus. Místo For druhySloupec = 125 To 144 bude For druhySloupec = 125 to 143
Prostě spodní index a horní index (kdybyste přidával textboxy, tak je na to třeba pamatovat

pak je třeba opravit tento příkaz (v původnm špatném kodu chybí písmenko L) Správně je: prvniSloupec = prvniSloupec + 1

Takže správně je:
For druhySloupec = 125 To 143
.
.
.
prvniSloupec = prvniSloupec + 1

end if
Next


Strana:  1 ... « předchozí  5 6 7 8 9 10 11 12 13   další » ... 42

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

Google disk - stažení souboru s příponou .xlsm

OB • 22.3. 15:59

Rozdiel office 2016 alebo 2019

r13 • 22.3. 15:49

Rozdiel office 2016 alebo 2019

jano1 • 22.3. 9:52

Barva aktivní buňky

stusna • 22.3. 8:52

Tabulka - zamknout list

Alfan • 21.3. 8:48

Tabulka - zamknout list

r13 • 21.3. 8:44

Tabulka - zamknout list

Alfan • 21.3. 7:28