Myslíš něco takového?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
On Error GoTo chyba
For x = 1 To 10
Sheets(x + 1).Visible = True
If Range("B" & x + 1) = "" Then
Sheets(x + 1).Name = "List" & x + 1
Sheets(x + 1).Visible = False
Else
Sheets(x + 1).Name = Range("B" & x + 1)
End If
Next x
Exit Sub
chyba:
MsgBox "Název listu musí být jedineèný. Zadejte jiný název listu", vbCritical, "Chyba zadání"
End Sub
Pokud je buňka prázdná tak se list skryje a přejmenuje se na listX.
Vlož do modulu listu
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$1" Then
Range("B:C,E:F,H:I").EntireColumn.Hidden = False
Select Case Range("G1")
Case Range("B2"): Range("B:C").EntireColumn.Hidden = True
Case Range("E2"): Range("E:F").EntireColumn.Hidden = True
Case Range("H2"): Range("H:I").EntireColumn.Hidden = True
End Select
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$G$1" Then
With Target.Validation
.Delete
.Add Type:=xlValidateList, Formula1:="--" & "," & Range("B2").Value & "," & Range("E2").Value & "," & Range("H2").Value
End With
End If
End Sub
(řádek A zůstává stále viditelný)
@lubo
Ok, to jsem nezkoušel. Moje chyba.
@lubo
v ukázce to funguje s tím mým makrem, asi si nerozumíme
Jak jsem přišel z práce tak mě také ta možnost napadla, počkáme co tazatel na to, už je z nás nešťastný :)
@eLCHa
ano to já bych nepoužil,
s vlastním formátem se dá řešit hodně věcí
@lubo
které řešení je namysli?
Pokud to makro tak v čem nefunguje?
Jinak díky oběma.
@eLCHa
ano také lze, ale co když nechce vidět nulu před prvními 9s
Pro tazatele.
To skrytí řádků je tam potřeba aby nebyly vidět kdy.
Když je aktivní list a nebo hned co se změní hodnota na listu Vzorce?
@eLCHa
nevím za co bych měl dostat žalář.
Jak by jste to řešil bez maker?
Spousty uživatelů excelu ho ani pořádně neumí používat, jednoduché věci řeší složitě a spoustu se jich to ani nechce naučit...
Pokud něco nechci vidět tak mám spousty možností, ale nechal bych to na uživateli jakou cestou se vydá.
Ale to jsem odbočil.
@AL
Když prolezete své příspěvky tak některým zadáním jste porozuměl lépe než někdo jiný a někdy zase naopak.
Je to jenom o tom se správně vyjádřit.
Co vás napadne když vám někdo řekne "milisekundy" a nevíte hned jaké i/y tam myslí?
Já myslím že dvě věci.
Jak píše eLCHa.
@ladaakk
další z možných řešení
Spuštění makra pokud se změní hodnota buňky v které je vzorec.
Do modulu listu vlozit
Dim puvodnihodnota As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Not puvodnihodnota = Range("A1").Value Then
Call makro
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
puvodnihodnota = Range("A1").Value
End Sub
Pokud je vzorec v A1 a jeho hodnota se změní tak se zavolá makro.
Ty makra fakt být nemůžou?
Bez nich to nepůjde, alespoň já o žádném způsobu nevím.
Vlastní formát buňky ve tvaru
s ve hranatých závorkách
Nejde bohužel sem vložit.
Pokud se Ti budou měnit názvy listů tak nejlepší bude do modulů listu vložit toto
Private Sub Worksheet_Activate()
Call Skryj
End Sub
Nebo pak už fakt nevím.
adosl napsal/a:
..., aby se spustilo jen v případě že změním hodnotu v buňce B1 na listu VZORCE.
Šlo by to udělat? ... potřebuji aby se spustilo po změně hodnoty v buňce B1 na listu VZORCE.
No jak tak tady na to koukám,
tak možná chce toto.
Do modulu listu "vzorce"
vlož
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
Call Vymaz
End If
End Sub
A to své makro Vymaz nahrad tímto
Sub Vymaz()
Dim Wsht As Worksheet
' pro vsechny listy mimo list vzorce
For Each Wsht In ThisWorkbook.Worksheets
If Wsht.Name <> "vzorce" Then
With Wsht
If .Range("A1") = "" Then
.Rows("1:1").Hidden = True
Else
.Rows("1:1").Hidden = False
End If
If .Range("A2") = "" Then
.Rows("2:2").Hidden = True
Else
.Rows("2:2").Hidden = False
End If
If .Range("A3") = "" Then
.Rows("3:3").Hidden = True
Else
.Rows("3:3").Hidden = False
End If
End With 'Wsht
End If
Next
End Sub
A pak si tam může přidat listy na kterých se nemá provádět.
Třeba to je ono
Tak testuj ted.
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.