Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  3 4 5 6 7 8 9 10 11   další » ... 14

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ý)

Pokud je tím myšlen řádek 1 tak ten zůstane viditelný, ale pokud myslíš že bude viditelný i pro sloupce co se skryly tak to nelze.

@lubo
Ok, to jsem nezkoušel. Moje chyba.

@lubo
v ukázce to funguje s tím mým makrem, asi si nerozumíme 5

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
1

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.


Toto splnuje to co jsem napsal.

Nebo napis jeste jednou co tedy vlastne potrebuješ?
- Má se makro provést na všech listech po změně na jednom konkrétním listu?
- nebo kdy se má spustit?
- Klidně by se dalo i při aktivaci daného listu
-- aktivuješ list a na základě nějaké podmínky se řádky buď skryjí nebo zobrazí

Napisto klidně jak kdyby si to popisoval někomu uplně neznalému.

Je vidět že Ti tu radíme každý jinak a stále to není ono 4

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 4

Tak testuj ted.


Strana:  1 ... « předchozí  3 4 5 6 7 8 9 10 11   další » ... 14

Uživatelské menu

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

Menu

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