Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  26 27 28 29 30 31 32 33 34   další » ... 69

http://www.excelfornoobs.com/tips.php?title=Excel%20Tips%20Tutorial:%20Understanding%20and%20Applying%20Themes%20in%20Excel

https://www.excel-easy.com/examples/themes.html

?
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "List2" Then
MsgBox "hoj"
End If
End Sub


EDIT: umístit do ThisWorkbook

Evidentně né zcela chápu funkci Tvého řešení, ale v tom případě funkce radek není potřeba viz soubor.

Jedno z možných řešení. Někdo jistě přijde se sofistikovanější variantou.

Tohle by mělo splnit požadavek:
Private Sub Workbook_BeforeSave(ByVal Saved As Boolean, Cancel As Boolean)

Dim PrazdnyRadek As Long
Dim Jmeno As String
Dim rng As Range
Jmeno = Application.UserName

With Worksheets("list1")
Set rng = .Range("A:A").Find(What:=Jmeno, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
If Not rng Is Nothing Then
' zapiseme kdy
.Cells(rng.Row, 2) = Now
Else
' prvni prazdny radek
PrazdnyRadek = .Cells(Rows.Count, 1).End(xlUp).Row + 1
' zapiseme kdo
.Cells(PrazdnyRadek, 1) = Jmeno
' zapiseme kdy
.Cells(PrazdnyRadek, 2) = Now
End If
End With

ThisWorkbook.Save
End Sub

Jaj, sorry. Vůbec sem nezaregistroval, že sloupec G neobsahuje vzorec. Upraveno, zadán pevný rozsah G22 až G500.

Kód upraven podle požadavků mimo jedné věci, kterou né zcela chápu.

"Na konci procesu vymazat na listu Objednávky rozsah G22:G500 a zase zamknout list"

Pokud jsou data do listu Objednávky tahána pomocí vzorců, nelze mazat (smažou se vzorce). Jediné co by se dalo vymazat je zdroj dat pro vzorce, tedy v tomto případě List1.

Pokud si to myslel jinak budeš to muset lépe popsat.

Edit: S tím kopírováním jen textových hodnot podle sloupce D. Makro nalezne poslední textový údaj tedy řádek 23. Pokud však bude na řádku např. 30 vracet vzorec textovou hodnotu, a vzorce před ním (řádky 24 až 29) hodnotu "", makro bude kopírovat oblast řádků 22 až 30. Tedy budou do historie uloženy i prázdné hodnoty.

Vše záleží jakým způsobem jsou data zadávána do objednávky. Pokud by se musel ošetřit i tento stav, bylo by potřeba celou objednávku načíst do pole a jednotlivé buňky sloupce D zkontrolovat na nenulovou délku.
De facto celé to znovu přepsat.

Ahoj, vyzkoušej kód v souboru. Jediné co sem neřešil je zobrazování listu "Historie PLÁN", pro vkládání (kopírování) dat to není potřeba. Rozsah kopírované oblasti se určuje podle sloupce D listu "Objednávky". Pokud bude objednávka prázdná (poslední obsazený řádek <22) makro vyhodí hlášku a ukončí se.

Testování případných chyb nechám na Tobě, du chrnět.
Pokud by si přišel na nějakou zradu, dej vědět.

Win 10?
http://pc-help.cnews.cz/viewtopic.php?f=35&t=199453

Tak pokud máš ambice pustit sešit do světa, stálo by za zvážení ošetření vstupních hodnot.
Nemám přesně tušení jak mají vstupní hodnoty vypadat, ale asi by bylo vhodné omezit počty zubů (na nějakou rozumnou hodnotu, aby někoho nenapadlo zadat max počet zubů třeba 600 a pohlídat počet zubů u hodnot min a max aby nebyly vloženy obráceně), počet převodů (tedy dva) zadat jako konstantu do kódu a ošetřit hodnoty zadávané do inputboxu atd.

Sice už sem Elninoslov vložil řešení pomocí pole, ale když už sem se s tím drbal...
Přikládám svůj soubor, defacto je to to samé jako má elninoslov akorát jiný styl zápisu.

Co píše Elninoslov o těch třech převodových stupních je pravda. Při nastavení hodnot zuby - 9, 12 a 3 převodové stupně excel přestal odpovídat (možná je to slabým železem), po přidání breakpointu a krokování sem se dostal na hodnotu přes 250 000 řádků, pak mě to přestalo bavit.

Nebo řešení pomocí pole.
Aby nedocházelo k problikávání obrazovky, stačí odstanit apostrof (') před řádkem Application...
Řádek jsem zakomentoval aby bylo vidět, že se vinka mění.
Do editoru se dostaneš ALT+F11

EDIT: Ještě by to chtělo pohrát si s formátem buněk. Předposlední vin je "delší" a dochází k "vytištění" prázdné stránky.

Radek-Klepacek napsal/a:

Nevím proč, ale vždy to havaruje na
Radku = .Cells(Rows.Count, 1).End(xlUp).Row - 1Příloha: 40640_test.zip (376kB, staženo 1x)


Problém je v předchozím řádku
With wsUrgence

CodeName tvého listu je List1

Má tedy být
With List1

ale to ti elninoslov psal hned ve svém příspěvku

PS: wsUrgence a wsStrategickeDily som si pomenoval CodeName listov.

takto?

Edit:
Teď sem kouknul na první příspěvek a vzorec tam již máš. Stačí změnit hodnoty, které si přeješ zobrazit.

Petr1222 napsal/a:

Ano, ten řádek se má zkopírovat pouze pokud se objeví určité jméno, jinak ne. Ostatní data z jiného jména by se měli zkopírovat do jiného sešitu.

-Například když se objeví jméno Petr, zkopíruje se celý řádek se všemi hodnotami do sešitu "Petr hotovo"
Když jméno Lucie tak opět celý řádek se zkopíruje do sešitu "Lucie hotovo"

-Kopírují se pouze hodnoty, barvy, orámování ani formát ne.

Nejdůležitější je, aby se to kopírovalo do dalšího sešitu, ne pouze listu. Oba dva sešity využívají pouze List1 (nemají více listů jak 1)

-sloupce hlavičky nemají

4 Ty vole chlape tohle jako myslíš vážně?! Dyť to kompletně mění zadání! A opět vyvolává další otázky. A jako třešnička na dortu (co se stává standartem - bohužel 7 ) žádná příloha.

Kolegovy výše přeji pevné nervy s tímto "úkolem". Mám takové tušení, že se v průběhu času zadání opět změní.


Strana:  1 ... « předchozí  26 27 28 29 30 31 32 33 34   další » ... 69

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