Příspěvky uživatele


< návrat zpět

Strana:  1 2   další »

Jasně, já jsem se po tom už také pídil, ale bohužel mi to házelo chybu a to nejspíš proto, že v kódu pracuji se všemi soubory ve složce, ne s jedním konkrétním jako je uvedený v příkladu.

Ahoj, pracuji s makrem, které postupně otevírá všechny sešity v konkrétní složce a v nich provede určitou akci. Když je ale některý ze sešitů složky už otevřený, tak se samozřejmě zobrazí chyba. Potřeboval bych kód upravit tak, aby se v případě, když je některý ze souborů ve složce již otevřený, zobrazil MsgBox s upozorněním a makro by se zastavilo. Svou část kódu spojenou s otevíráním jednotlivých sešitů přikládám níže. Mockrát děkuji za pomoc. bloom
FolderName = "\\C:\Prace\"
If Right(FolderName, 1) <> Application.PathSeparator Then FolderName = FolderName & Application.PathSeparator
Fname = Dir(FolderName & "*.xlsm")
Do While Len(Fname)

Díky za pomoc, sice to bohužel nefunguje (stále to jde vepsat). Ale pokusím se s to nějak obhájit bez toho. ;)

Právě proto, jak píše Palooo. Jde o to, že když se to vepíše ručně, nefunguje makro, které do sousedního sloupce ukládá datum.
Palooo: A nevíte, prosím, co bych měl vložit do kódu? Zkoušel jsem Not ChngCellValueOld = ChngCellValueNew, ale to mi makro přestalo fungovat úplně...

Dobrá, pokusím se poslat přílohu a popsat situaci - v příloze je v jednom sloupci nastaveno ověření dat. Když např. v tomto sloupci nad poslední vyplněnou hodnotu vepíšu "a", hodnota se automaticky doplní na "ano" (i v případě, když dekativuji dynamické vyplňování). A právě toto chci potlačit, chci, aby se "ano" vyplňovalo jen v případě, když ho uživatel zvolí ze seznamu. Moc díky za pomoc.

Ahoj, potřeboval bych poradit s nastavením ověření dat v excelu. Nastavil jsem v několika buňkách ověření dat ze seznamu (seznam obsahuje možnosti "ano", "ne"). Potřeboval bych, aby v těchto buňkách uživatel mohl nastavené hodnoty změnit jen výběrem ze seznamu a ne např. vepsáním hodnoty "ano" do buňky. V podstatě bych potřeboval buňku nastavit tak, aby se v ní dala nastavit hodnota ze seznamu, ale nedal se její obsah změnit vepsáním hodnoty. Doufám, že jsem vše formuloval srozumitelně. Budu velmi vděčný za jakoukoliv pomoc. bloom

Já jsem použil událost Worksheet_Change, ale to datum se mi zapíše, až když tu buňku opustím, ale já bych potřeboval, aby se datum zapsalo ihned v okamžiku změny. ;) Když do buňky normálně něco vepisuji, tak se v podstatě změna nedá provést bez toho, abych ji pak opustil (ať šipkou nebo Enterem). Když ale vybírám z ověření dat, akce se provádí myší a když dojde ke změně buňky, můžu v podstatě v buňce zůstat a čas se mi nezapíše. To j ten hlavní problém, kteý potřebuji vyřešit.

Ahoj, potřeboval bych pomoct s makrem, u kterého si nejsem jistý řešením. Mám v souboru sloupec, v němž je ve všech buňkách nastaveno ověření dat na dvě hodnoty ("ano", "ne") s tím, že ty buňky jsou zatím prázdné. Chtěl bych vytvořit makro, které by pokaždé, když uživatel změní buňku v tomto sloupci výběrem jakékoliv hodnoty ze seznamu ověření dat, zapsalo do vedlejší buňky datum, kdy k této změně došlo. Doufám, že jsem to vysvětlil srozumitelně. Budu velmi rád za jakoukoliv pomoc s tím, co mám vložit do kódu. Díky moc. bloom

Díky.
Mně ale omezení fungovalo, jen když se postupně ve všech buňkách (po přechodu z buňky do buňky) v řádku mažou hodnoty. Když ale označím lonkrétní vybranou oblast buněk v řádku a vymažu hodnoty najednou, hází mi to chybu, stejně tak jako v případě, když celý řádek odstraním. A tyhle situace bych ještě chtěl ošetřit. Díky moc za rady.

Díky moc, zapracoval jsem to podle návodu nějak takhle Dim ChngRow As Integer
Dim ChngCell As Boolean
Dim ChngCellValueOld As Variant
Dim ChngCellValueNew As Variant

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim SrcRange As Range
Dim NewRow As Integer
Dim CllSrcRange As Range
If ChngCell = True And Not ActiveCell.Row = ChngRow And Not ChngCellValueOld = ChngCellValueNew Then
Set SrcRange = Range("D" & ChngRow & ":S" & ChngRow)
For Each CllSrcRange In SrcRange.Cells
If IsEmpty(CllSrcRange) Then

Else

Range("S" & ChngRow).Value = Now

With Sheets("History")
.Range("a5").EntireRow.Insert
.Range("5:5").ClearFormats
.Range("A5:N5").Value = SrcRange.Value
.Range("O5").Value = Now
End With
Exit For
End If
Next CllSrcRange
Set CllSrcRange = Nothing
End If

ChngCell = False
ChngCellValueOld = ActiveCell.Value

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

ChngRow = Target.Row
ChngCell = True
ChngCellValueNew = Target.Value
End Sub

Ještě bych to rád upravil tak, aby se nekopírovalo v případě, když se celý řádek označí a hodnoty v něm se smažou (první otázka se týkala postupného vymyzávání). Moc děkuji za odpovědi. bloom

Ahoj,
mám sestavené makro, které kopíruje řádek na jiný list, pokud se změní nějaká hodnota v buňce na onom řádku. Chtěl bych ho ale nastavit tak, aby nedošlo ke kopírování, když se hodnoty ve všech buňkách vymažou a řádek zůstane prázdný. Mohl bych poprosit o radu, co vložit do kódu? Mnohokrát děkuji. bloom

Je to nasnadě - v listu B jsou vyfiltrovaná data z listu A a list C je list historizační. Jakmile uživazel stiskne tlačítko na listu C, vyfiltrují se data z listu A do listu B a odtud zkopírují do listu C. V listu A se do speciálního sloupce ukládá čas poslední aktualizace a já bych potřeboval, aby se po spuštění makra tlačítkem zkopírovala vyfiltrovaná data, ale bez těch, u kterých nedošlo ke změně po předchozím spuštění makra (porovnával by se právě ten sloupeček s datumem). Díky za jakoukoliv pomoc.

Ahoj, potřeboval bych pomoct sestavit makro, které by kopírovalo data z listu A do listu B jen v případě, pokud by se už v listě B neneacházela z předchozího kopírování. V listu A se do speciálního sloupce ukládá čas poslední aktualizace daného řádku s daty a pokud by se čas aktualizace od posledního spuštění makra nezměnil, ke kopírování by nemělo dojít. Snad je zadání srozumitelné. Budu rád za jakoukoliv pomoc. Bloom

Ahoj, potřeboval bych vytvořit makro, které by kopírovalo vyfiltrovaná data do jiné tabulky. Problém je v tom, že se jedná o proměnlivá data a každý měsíc se jich vyfiltruje jiný počet. Potřeboval bych, aby makro kopírovalo proměnlivý počet dat v daném měsíci a kopírovaná data vložilo doprostřed jiné tabulky, ve které se přidá příslušný počet prádzných řádků odpovídající počtu kopírovaných dat. S filtrem nemám problém, jen s tím speciálním kopírováním a (především) vkládáním. Doufám, že jsem zadání vysvětlil jasně. :) Mnohokrát děkuji za jakoukoliv pomoc. Bloom

Jasně, díky moc za odpověď. Nevěděl by ale ještě někdo radu, jak to nastavit, aby to fungovalo, na kopírování do jiného sešitu? Moc děkuji.


Strana:  1 2   další »

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