Super, děkuju.
Dobrý den,
k odemykání používám vaše makro, bohužel není dodělané.
Když dám Storno makro dále pokračuje v zamykání/odemykání a v případě, že zadám špatně heslo při odemykání, tak to nehodí MsgBox, ale chybu. Mohli by jste mi pomoc?
Sub Zamknout()
Dim sPass As String
sPass = InputBox("Heslo k odemknutí listu:", "Zamknout list")
Dim sh As Worksheet
If sPass = InputBox("Zadejte heslo ještě jednou:", "Potvrdit heslo") Then
For Each sh In ActiveWorkbook.Sheets
sh.Protect Password:=sPass
Next
Else
i = MsgBox("Heslo zadané pro potvrzení není shodné.", vbOKOnly + vbExclamation)
End If
End Sub
Sub Odemknout()
Dim sPass As String
sPass = InputBox("Heslo:", "Odemknout list")
Dim sh As Worksheet
If sPass = False Then
For Each sh In ActiveWorkbook.Sheets
sh.Unprotect Password:=sPass
Next
' MsgBox("Zadané heslo není správné.", vbOKOnly + vbExclamation)
End Sub
Moc děkuji, je to paráda.
Dobrý den,
udělal jsem si jednoduché makro na převod čísla na procento.
Např. 50 -> 50,0 %
Jen proto, že mám tabulku s mnoha čísly a potřeboval bych to hromadně převést do formátu "0.0 %". Bohužel při standardním naformátování buněk se mi z čísla 50 -> 5000,0 %
Makro funguje, ale pouze v aktuální buňce.
Potřeboval bych, aby mi makro převedlo oblast kterou si označím.
Všiml jsem si, že kalendář nezobrazuje velikonoční pátek.
Je to bomba, moc děkuji elninoslov
Dobrý den,
našel jsem Makro na generování čísel.
Potřeboval bych ho upravit tak, aby generoval čísla do vybrané oblasti (Range(B1:B10,D1:D10)).
Bohužel mi nejde poslat příloha, ale makro vypadá takto:
Sub Generator_cisel()
lbnd = InputBox("Zadejte spodní hranici")
ubnd = InputBox("Zadejte horní hranici")
nudp = InputBox("Stiskni OK pro celá čísla nebo D pro desetinná místa")
If UCase(nudp) = "D" Then
With Selection
.ClearContents
.NumberFormat = "#,##0.00"
End With
For Each Cell In Selection
Cell.Value = Rnd() * (ubnd - lbnd) + lbnd
Next Cell
Else
With Selection
.ClearContents
.NumberFormat = "#,##0"
End With
For Each Cell In Selection
Cell.Value = Int(Rnd() * (ubnd - lbnd + 1) + lbnd)
Next Cell
End If
End Sub
Děkuji za pomoc
Není to v té samé buňce, ale třeba Vám to pomůže.
Dobrý den,
našel jsem si zde spousty užitečných předloh. Také jste mi tu moc pomohli. Všem moc děkuji. Všiml jsem si, že tu spousty lidí řeší skladové hospodářství. Základ jsem splácalal, ale už jsem v koncích. Mám čtyři karty: Vyhledat, Uskladnit, Vyskladnit a Pozice. Z karet Vyskladnit a Uskladnit se data kopírují do karty Pozice.
Karta Vyhledat by měla říci zda-li je produkt ve skladu nebo je vyskladněný. Bohužel nevím jak udělat, aby makro produkt našlo v kartě Pozice a vyskladnilo. Bohužel mi to nešlo uložit se zobrazením obrázků. Děkuji za pomoc.
Ahoj,
já to zase pochopil, že potřebuje data zálohovat a ne přemazat. Třeba by to mohlo být takto.
Dobrý den,
bohužel nemohu přiložit soubor, jelikož jsou zde citlivá firemní data, ale pokusím se to popsat co nejpodrobněji.
Mám tabulku pro šest linek, která má 5 listů. Na Listu5 jsou data a na Listu1, Listu2, Listu3 a Listu4 jsou různé grafy k linkám. Na všech čtyřech listech jsou všechny linky. Při tisku musíme všechny stránky přebrat a srovnat podle linek. Tak mě napadlo jestli by se nedalo tyto grafy seřadit rovnou při tisku makrem. Vypotil jsem Makro z toho co jsem kde našel. Funguje to, ale občas na grafu zmizí formátování(např. místo 81,5% se tam objeví 81,5123584). Asi je to tím, že je to takový "bastl".
Předem děkuji za pomoc.
Sub Tisk()
Application.Dialogs(xlDialogPrinterSetup).Show
' Linka 1
Worksheets("List1").PageSetup.PrintArea = "$A$67:$W$99"
Worksheets("List1").PrintOut
Worksheets("List2").PageSetup.PrintArea = "$A$67:$AG$99"
Worksheets("List2").PrintOut
Worksheets("List3").PageSetup.PrintArea = "$A$73:$W$108"
Worksheets("List3").PrintOut
Worksheets("List4").PageSetup.PrintArea = "$A$73:$W$108"
Worksheets("List4").PrintOut
' Linka 2
Worksheets("List1").PageSetup.PrintArea = "$A$100:$W$132"
Worksheets("List1").PrintOut
Worksheets("List2").PageSetup.PrintArea = "$A$100:$AG$132"
Worksheets("List2").PrintOut
Worksheets("List3").PageSetup.PrintArea = "$A$109:$W$144"
Worksheets("List3").PrintOut
Worksheets("List4").PageSetup.PrintArea = "$A$109:$W$144"
Worksheets("List4").PrintOut
' Linka 3
Worksheets("List1").PageSetup.PrintArea = "$A$133:$W$165"
Worksheets("List1").PrintOut
Worksheets("List2").PageSetup.PrintArea = "$A$133:$AG$165"
Worksheets("List2").PrintOut
Worksheets("List3").PageSetup.PrintArea = "$A$145:$W$180"
Worksheets("List3").PrintOut
Worksheets("List4").PageSetup.PrintArea = "$A$145:$W$180"
Worksheets("List4").PrintOut
' Linka 4
Worksheets("List1").PageSetup.PrintArea = "$A$1:$W$33"
Worksheets("List1").PrintOut
Worksheets("List2").PageSetup.PrintArea = "$A$1:$AG$33"
Worksheets("List2").PrintOut
Worksheets("List3").PageSetup.PrintArea = "$A$1:$W$36"
Worksheets("List3").PrintOut
Worksheets("List4").PageSetup.PrintArea = "$A$1:$W$36"
Worksheets("List4").PrintOut
' Linka 5
Worksheets("List1").PageSetup.PrintArea = "$A$166:$W$198"
Worksheets("List1").PrintOut
Worksheets("List2").PageSetup.PrintArea="$A$166:$AG$198"
Worksheets("List2").PrintOut
Worksheets("List3").PageSetup.PrintArea="$A$181:$W$216"
Worksheets("List3").PrintOut
Worksheets("List4").PageSetup.PrintArea="$A$181:$W$216"
Worksheets("List4").PrintOut
' Linka 6
Worksheets("List1").PageSetup.PrintArea = "$A$34:$W$66"
Worksheets("List1").PrintOut
Worksheets("List2").PageSetup.PrintArea ="$A$34:$AG$66"
Worksheets("List2").PrintOut
Worksheets("List3").PageSetup.PrintArea = "$A$37:$W$72"
Worksheets("List3").PrintOut
Worksheets("List4").PageSetup.PrintArea = "$A$37:$W$72"
Worksheets("List4").PrintOut
End Sub
Netušil jsem, že je to až tak moc složité. Mockrát děkuji za každou pomoc.
Asi to mám blbě, snažil jsem se to splácat, co jsem kde našel abych nemusel otravovat někoho z vás, ale bohužel. Jde mi jen o jeden konkrétní list.
Ale kdyby jste mi ukázal obě varianty, byl by jste moc laskav.
Předem děkuji
Dobrý den,
pokusil jsem se o Makro, ale už si nevím rady.
Potřeboval bych při stisknutí tlačítka odemknout list a při druhém stisknutí list zamknout s dotazem na heslo.
Přílohu je asi zbytečné přikládat, ale zkopíruji Makro.
Děkuji za radu.
Sub Zamknout_Odemknout()
Dim sPass As String
sPass = InputBox("Heslo k odemknutí listu:", "Uzamknout
list")
Dim wsSheet As Worksheet
Set wsSheet = Worksheets("List1")
If sPass = InputBox("Zadejte heslo ještě jednou:",
"Potvrdit heslo") Then
For Each sh In ActiveWorkbook.Sheets
wsSheet.Protect Password:=sPass
Next
Else
MsgBox ("Zadané heslo není správné!")
End If
' zde si nevím rady
sPass = InputBox("Heslo:", "Odemknout list")
For Each sh In ActiveWorkbook.Sheets
wsSheet.Unprotect Password:=sPass
Next
End Sub
Musím nad tím chvíli přemýšlet, ale už vidím světlo na konci tunelu.
Děkuji pěkně i Vám.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.