Zatím to načítá data z Uzavření kontroly 1 a 2.
Asi by se mělo načítat Uzavření kontroly, když není tak Protokol, a když není Protokol tak Oznámení.
Nebo...?
No dobře, ale která kontrola se má načíst, když tam jsou všechny 3 (Oznámení, Protokol a Uzavření)?
Pokud tam bude jen jedna varianta. tak je to jasné.
Třeba vytváří firemní maily: "jmeno.prijmeni@firma.cz"
Jak odstranit diakritiku nevím. Vzorec je: Range("B1").FormulaR1C1 = Range("A1").Value & ("@seznam.cz")
marjankaj napsal/a:
To máš pravdu. Ja som odpovedal zadávateľovi.
@marjankaj: Já jsem to pochopil tak, že když do buňky zapíši nějakou hodnotu (třeba pomocí rozevíracího seznamu), tak pokud ji pak zamknu, tak na té buňce již žádnou změnu nemohu provést. Ani přes ověření dat (seznam) ani pomocí Ctrl+V.
Pomocí Ctrl+V obejdu ověření dat, ale už ne zamknutou buňku.
Možná jsem šel na to moc jednoduše:
Buňky (A1:A20 ) nastavit jako "odemknuté". Po vložení hodnoty se zamkne (a s tím i samozřejmě celý list)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("A1:A20")
If Intersect(Target, KeyCells) Is Nothing Then Exit Sub
ActiveSheet.Unprotect
Range("A" & Target.Row).Locked = True 'zamkne
Range("A" & Target.Row).Interior.ColorIndex = 3 'pozadí červené
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Tak to vyzkoušejte.
Nevím, v jaké fázi máte program. Při načítání údajů k vybrane sp.zn. postupně načítáte a následně přepisujete hodnoty ve formuláři. Podle mě by stačilo zapsat jen ten poslední.
Mrknu na to ale až večer.
Možná někdo jiný bude rychlejší.
Vyzkoušejte, jestli pojede toto:
ad 2) Přiložte soubor, kde je vložena kontrola 1, kontrola 2 a kontrola 3 včetně hodnot, které se mají načíst do formuláře.
Hodnoty pro kontrolu 1 - 3 odlište barevně.
Není mi to moc jasné.
Samozřejmě že to nefungovalo. Neurčil jsem z kerého listu se to má načítat:
Set oblast = Worksheets("ČÍSELNÍKY").Range("B2:B37")
cmbUkon.RowSource = "ČÍSELNÍKY!C" & index1 & ":C" & index2
Školácká chyba:)
=SOUČIN.SKALÁRNÍ(1/COUNTIF(F10:F22;F10:F22))
Bod 1 např. takto:
Private Sub cmbTypZadosti_Change()
Dim oblast As Range, bunky As Range
Dim index1 As Integer, index2 As Integer
Dim nastavit As Boolean
Set oblast = Range("B2:B37") 'oblast Typ žádosti"
nastavit = True
index1 = 0
index2 = 0
For Each bunky In oblast 'prochází všechny buňky v oblasti
If cmbTypZadosti.Value = bunky.Value Then
If nastavit Then
index1 = bunky.Row
nastavit = False
End If
index2 = bunky.Row
End If
Next
cmbUkon.RowSource = "C" & index1 & ":C" & index2
End Sub
@elninoslov: Díky za tip. Říkal jsem si, že by to chtělo nějak ošetřit.
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.