Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další » ... 71

Chtěl jsem si jen urychlit práci.
Tak zapsat do kódu .Unprotect (HESLO) a .Protect (HESLO) snad nebude zas takový problém né 2

Ale jo, chápu čeho chceš dosáhnout. Ale nechápu s čím je problém. Formuláři je jedno kolik buněk obsahuje tabulka. Jak si to "naprogramuješ" tak to budeš mít.
Výchozí stav: zamčený list
- Zobrazíš formulář > vyplníš data > (provedeš verifikaci?)
- Odemkneš list
- Zapíšeš data z formuláře do listu
- Zamkneš list
- Zavřeš formulář
List je zamknuty, nelze provádět úpravy, mazat vzorce.

Co? Vždyť píšeš, že používáš formulář?

Odemknout - vložit - zamknout.

Tak schválně ty dva řádky zakomentuj a sleduj co se stane. Jistě na to přijdeš. 1

Tak?

TextBox6.SetFocus

SOUČIN.SKALÁRNÍ

https://learn.microsoft.com/cs-cz/dotnet/visual-basic/language-reference/operators/like-operator

Umístit do standardního modulu
Private Sub HideLabel1()
List1.Label1.Visible = False
End Sub

Můžeš porovnat hodnotu zadanou do buňky s aktuálním jménem listu a zobrazit hlášku nebo kód ukončit:

JmenoMesice = Format(DateSerial([rok_vykaz], Target, 1), "mmmm")
If JmenoMesice = ThisWorkbook.ActiveSheet.Name Then Exit Sub
If ListExistuje(JmenoMesice) = True Then

'Přejmenování listu podle změny v buňce B6
Private Sub Worksheet_Change(ByVal Target As Range)
Dim JmenoMesice As String
If Not Intersect(Me.Range("B6"), Target) Is Nothing Then
If Target = "" Then
Exit Sub
Else
JmenoMesice = Format(DateSerial([rok_vykaz], Target, 1), "mmmm")
If ListExistuje(JmenoMesice) = True Then
MsgBox "List s názvem " & JmenoMesice & " již existuje, proto jej nebylo možné použít znovu v procesu automatizovaného pojmenování tohoto listu. Výchozí název listu můžeš ale přejmenovat ručně standardním způsobem zvolením jiného vhodného názvu.", vbExclamation, "Konflikt s duplicítním názvem listu"
Exit Sub
Else
Application.ActiveSheet.Name = JmenoMesice
End If
End If
End If
End Sub

Private Function ListExistuje(ByVal strJmeno As String) As Boolean
On Error Resume Next
ListExistuje = Not Worksheets(strJmeno) Is Nothing
End Function

Kde je zakopaný pes?
1) řádně nedeklaruješ proměnné.
2) práce s definovaným názvem ve VBA -> [rok_vykaz] nebo Jménolistu.Range("rok_vykaz")
3) Tvůj kód bude neustále provádět přejmenování při jakékoliv změně na listu
4) Není ošetřen vstup (Target) na zadání jiných hodnot než čísel z rozsahu 1 až 12

Já Ti to přece nenutím! Dělej si s tím co chceš.

Sub PridejList()
Dim JmenoListu As String
JmenoListu = "Tralala"
If ListExistuje(JmenoListu) = False Then
Worksheets.Add.Name = JmenoListu
Else
MsgBox "List s názvem: """ & JmenoListu & """ již existuje. Zvolte jiné jméno", _
vbExclamation, "Duplicita listů"
End If
End Sub


Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další » ... 71

Uživatelské menu

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

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje