No já mám 2007, ikdyž zkopíruji kompletně vše z původního sešitu (list po listu), stále jsou odkazy i vzorce směřovány do původního sešitu. Ještě tedy vyzkouším přesun listu a né kopírování, to ještě vyzkoušené nemám.
AHoj všem,
potřebuji radu, pomoc.
Mám problém a hledám nějaké snadnější řešení pro kopírování listů do jiného sešitu.V sešitě A mám cca 30 listů, které jsou různě na sebe vázány vzorci a odkazy. Potřeboval bych je všechny překopírovat do sešitu B. Problém je v tom, že pokud je zkopíruji do nového sešitu tak jsou vzorce a odkazy stále vedené do sešitu A. Těch vzorců a odkazů jsou desítky, je strašně pracné je upravovat pro sešit B.
Není nějaká možnost hromadného kopírování, nebo přesunutí do sešitu B tak aby nebyla vzorci a odkazy návaznost do původního sešitu, ale aby všech 30 listů fungovalo v sešitě B
Děkuji za každou radu.
Martin
Už to mám vyřešené...
Ahoj, potřebuji poradit s kódem.
V přiloženém sešitu jsou tři listy, úvod, materiál a práce. Na listu úvod mám dva checkboxy (práce a materiál) a jedno tlačítko "přejít do rozpočtu". Potřebuji aby po stisku tlačítka byl zobrazen list podle zatrženého checkboxu. Zkoušel jsem to záznamem makra, ale bohužel neúspěšně.Poradí někdo?
Díky M.
Ještě dotazek, co přesně dělá nebo na co je příkaz "formulaR1C1"?
Díky za snahu, ba v tom sešitě není žádná změna:-) Nedal jsi sem původní sešit?
Problém je v tom, že chyba vyskakuje u kódu, který je napojen na checkbox. Je to složité, originál sem z důvodu firemních dat dát nemohu, tak jsem připravil rychlou ukázku.
Co tedy potřebuji:
Na prvním listu kliknu na tlačítko a to by mělo na listu "Sum rozpočtu" a "Sum zkr" vypnout checkbox práce a zapnout materiál. Po této úloze se aktivuje list "Přehled".
Důležité je, že potřebuji, aby se celá úloha provedla na pozadí, tak aby nebyla zaregistrována.
Napadlo mě, že by se mohl kódem přepsat text v buňce na který je "napojen " Checkbox" př. je propojen s buňkou A1, tak přepsat na PRAVDA nebo NEPRAVDA. Je to jen úvaha, jsem v koncích.
Dík za tip
Tak vyzkoušeno, vyskakuje chyba kódu, nevím zda je kód napsán správně:
Application.ScreenUpdating = False
Sheets("Sum rozpočtu").Range("Y7").FormulaR1C1 = True
Sheets("Sum rozpočtu").Range("Y8").FormulaR1C1 = False
Sheets("Sum zkr").Range("AA6").FormulaR1C1 = True
Sheets("Sum zkr").Range("AA5").FormulaR1C1 = False
Sheets("Jádro A").Select
Application.ScreenUpdating = True
Tak jsem to zkusil, ale je to stále stejné. Možná na to jdu špatně. Potřebuji na pozadí vypnout dvě zaškrtávací tlačítka ve formulářích, ale bez toho aby se aktivoval list na kterém zaškrtávací tlačítka jsou. Takto to tedy funguje, ale, potřebuji, aby se to provádělo na pozadí. Možná někdo poradí elegantnější řešení?
Application.ScreenUpdating = False
Sheets("Sum rozpočtu").Select
Range("Y7").FormulaR1C1 = "FALSE"
Range("Y8").FormulaR1C1 = "FALSE"
Sheets("Sum zkr").Select
Range("AA6").FormulaR1C1 = "TRUE"
Range("AA5").FormulaR1C1 = "FALSE"
Sheets("Jádro A").Select
Application.ScreenUpdating = True
Ahoj, potřebuji radu. V níže uvedeném kódu mám na začátku vypnutí aktualizace obrazovky, ale nějak mě v tomto kódu vůbec nefunguje. Nevíte někdo proč, nebo není v kódu nějaká blbost. Kod slouží k zapnutí/vypnutí zaškrtávacích políček.
Sub Vypočítat_normu()
Application.ScreenUpdating = False
Sheets("Sum rozpočtu").Select
Range("Y7").Select
ActiveCell.FormulaR1C1 = "TRUE"
Range("Y8").Select
ActiveCell.FormulaR1C1 = "FALSE"
Sheets("Sum zkr").Select
Range("AA6").Select
ActiveCell.FormulaR1C1 = "TRUE"
Range("AA5").Select
ActiveCell.FormulaR1C1 = "FALSE"
Sheets("Norma A").Select
Application.ScreenUpdating = True
End Sub
M.
Ty ostatní plní zase jiné funkce, mimo jiné také skrývají část formuláře. Jde oto, že pokud budu mít př. CheckBoxem 1 skrytou nějakou část formuláře, tak aby CheckBox8 neodkryl řádky, které mají zůstat skryté. Jak to nejlépe vysvětlit, CheckBox 1 až CheckBox6 jsou jakoby nadřazené CheckBoxu8.
Pokusím se popsat formulář:
Formulář je rozdělen do 6 částí (kategorií). Ve formuláři jsou naschromážděna data z celého sešitu(cca 50 listů). Pokud chci tisknout report, CheckBox 1-CheckBox6 si vyberu kategorie pro tisk.CheckBox8 je pro fukci s DPH a Bez DPH. Ten skrývá řádky, kde je obsaženo DPH. Pokud tedy mám zvoleno že budu tisknout bez dph zaškrtnu CheckBox8, po té vyberu kategorie, ostatní se skryjí tak jako řádky DPH. Pokud ale z nějkého důvodu zvolím tisk s DPH, tak se odkryjí řádky s DPH mimo jiné i v kategoriích, které mají být skryté.
Je to těžké vysvětlovat, rád bych to vyřešil příkladem, ale bohužel to nejde.
Ahoj, potřebuji pomoci.
Níže uvedený kód slouží pro skrytí řádků ve formuláři a následnému zobrazení. Kód je aktivován zaškrtávacím tlačítkem CheckBox8. Kód funguje, ale potřebuji do kódu přidat podmínku.
Jde o to že mám ještě ve formuláři dalších 6 CheckBoxů, CheckBox1 až CheckBox6. Od kódu potřebuji aby po odškrtnutí CheckBox8 zobrazil jen některé řádky, které se budou řídit podmínkou, uvedu příklad - CheckBox1 a CheckBox2 je aktivován, řádky 22,23 a 61 zůstanou skryté, ostatní skryté řádky se zobrazí.
Pokud nebude aktivován CheckBox1 až CheckBox6, zobrazí se všechny skryté řádky.
V kódu jsou řádky nadepsané k jakému CheckBoxu patří.
Snad jsem to napsal srozumitelně, špatně se to popisuje. Dal bych sem příklad, ale sešit je celkem rozsáhlý s firemními daty. Snad to nebude komplikované, já z toho nejsem a po dvou hodinách už bezmocný...
'Skrytí řádků práce
Private Sub CheckBox8_Click()
If CheckBox8.Value = False Then
Range("C22:C23,C61,C106,C151,C196,C241").Activate
Selection.EntireRow.Hidden = False
Range("A1").Select
End If
'CheckBox1
If CheckBox8.Value = True Then
Rows("22:23").Select
Range("C22").Activate
Selection.EntireRow.Hidden = True
End If
'CheckBox2
If CheckBox8.Value = True Then
Rows("61").Select
Range("C61").Activate
Selection.EntireRow.Hidden = True
End If
'CheckBox3
If CheckBox8.Value = True Then
Rows("106").Select
Range("C106").Activate
Selection.EntireRow.Hidden = True
End If
'CheckBox4
If CheckBox8.Value = True Then
Rows("151").Select
Range("C151").Activate
Selection.EntireRow.Hidden = True
End If
'CheckBox5
If CheckBox8.Value = True Then
Rows("196").Select
Range("C196").Activate
Selection.EntireRow.Hidden = True
End If
'CheckBox6
If CheckBox8.Value = True Then
Rows("241").Select
Range("C241").Activate
Selection.EntireRow.Hidden = True
End If
Range("A1").Select
End Sub
Díky za názor, asi pravda, mám starej krám....
Ahoj, níže uvedený kód je asi blbě napsaný, strašně dlouho trvá provední operace (asi 2 minuty). Je to normální, nebo by šel kód napsat jednodušeji.
Díky za radu.
M.
Sub Skrytí_řádků_sumrozpočtu()
If MsgBox("Tato operace bude chvilku trvat, pokračovat?", vbYesNo, "Aktualizace řádků") = vbYes Then
Dim i As Integer
Application.ScreenUpdating = False
For i = 42 To 51
If Cells(i, 5) = Empty Then
Rows(i).Hidden = True
End If
Next i
For i = 62 To 96
If Cells(i, 5) = Empty Then
Rows(i).Hidden = True
End If
Next i
For i = 107 To 141
If Cells(i, 5) = Empty Then
Rows(i).Hidden = True
End If
Next i
For i = 152 To 186
If Cells(i, 5) = Empty Then
Rows(i).Hidden = True
End If
Next i
For i = 197 To 231
If Cells(i, 5) = Empty Then
Rows(i).Hidden = True
End If
Next i
For i = 242 To 276
If Cells(i, 5) = Empty Then
Rows(i).Hidden = True
End If
Next i
Application.ScreenUpdating = True
End If
End Sub
Ahoj, potřebuji radu.
Vkládám do listu data přes userform. Mám cca 50 řádků. Potřeboval bych přidat do kódu to, aby když vložím položku, tak aby se mě celý list posunul (vyroloval) o jednu buňku nahoru. Abych vysvětlil podstatu: Pokud najednou vkládám přes UF položky do formuláře tak po cca 20 řádce již jsou data vkládána do furmuláře, který není vidět. Abych viděl do jakého řádku jsou data vkládána, musím zavřít UF a vyrolovat formulář nahoru.
Poradí někdo?
M.
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.