Co myslíte tím všechna pole?
Málo informací. Tipuji to na buňky se vzorci odkazujícími se na buňky s formátem měny. Pak při úpravě těchto buněk se vám formát změní na formát dle buňky, na kterou se odkazujete.
@cmuch
To nebude fungovat. Napsal jste to tak, že pokud je jiný SB roven 1, tak ten který měníte nepude nastavit na 1 a požadavek je aby se ostatní vynulovaly ;) .
Navíc bych využil subprocedury, abych v případě úprav nemusel měnit 4 procedury, ale pouze 1
Zhruba nějak takto:Private Sub subSpinButtonChange(sb1 As SpinButton, sb2 As SpinButton, sb3 As SpinButton, sb4 As SpinButton)
If sb1.Value = 1 Then
sb2.Value = 0
sb3.Value = 0
sb4.Value = 0
End If
End Sub
Private Sub SpinButton1_Change()
Call subSpinButtonChange(SpinButton1, SpinButton2, SpinButton3, SpinButton4)
End Sub
Private Sub SpinButton2_Change()
Call subSpinButtonChange(SpinButton2, SpinButton1, SpinButton3, SpinButton4)
End Sub
Private Sub SpinButton3_Change()
Call subSpinButtonChange(SpinButton3, SpinButton2, SpinButton1, SpinButton4)
End Sub
Private Sub SpinButton4_Change()
Call subSpinButtonChange(SpinButton4, SpinButton2, SpinButton3, SpinButton1)
End Sub
Chybí mi takový detail. Píšete "číselníky", takže se asi bavíme o Ovládacích prvcích na listu? Kdyby to bylo ve UserForm, napsal byste pravděpodobně SpinButton.
Takže pokud se nepletu, tak druhá věc - jde o formulářový prvek nebo ActiveX?
lubo naznačil, že přesně k tomu slouží přepínače, nemusíte nic psát, ale pokud z estetických důvodů potřebujete číselník a jedná se o ActiveX budete potřebovat událost SpinButton_Change, pokud formulář, tak asi Worksheet_Change (formulářové prvky nepoužívám, ale asi budete muset provázat každý prvek s buňkou, abyste vyvolal proceduru)
Jedno vím určitě, kdybyste se zaregistroval a vložil sem přílohu, tak už to máte vyřešené.
Souhlasím.
U mne se to většinou projeví, pokud spustím ještě nedoladěný řekněme "pokročilejší" kód a zastaví se na místě, kde nelze chybu přeskočit, ale je nutné ho vypnout. Poté mi vyskočí chyba Automation error s nějakým záporným číslem. Následně začne házet chybu v místě, kde prostě vím, že není. Většinou chci dosadit hodnotu do proměnné typu Range (jak říká Palooo - setnout ;))) ) a VBE hlásí neexistující object (1004). Když se mi to stalo poprvé, taxem nad tím kroutil hlavou hodně dlouho ;))) . Opravdu pomáhá jedině restart PC (odhlásit se nestačí).
Abychom neděsili ostatní - děje se mi pouze na jediném stroji (WIN7+E2007) a jen když dolaďuji. Takže to není běžná záležitost, které byste se museli bát ;)
Pokud to dělá od té doby, co spouštíte tu "fičurku", je možné, že je to tím. Zkuste ji spustit na jiném PC (možná by stačil virtuál, pokud používáte). Pokud se to tam projeví, pak budete vědět jistě, že je to tím. Pokud ne, tak bohužel nebudete vědět nic ;)) .
I když je to zvláštní. Je to čistě váš kód nebo v ní používáte nějakou knihovnu?
Nové okno vytvoříte naprosto jednoduše ;)
Záleží na verzi - pro 2007
Zobrazení -> Okno -> Nové okno
Hned vedle je Uspořádat vše
Otevře se dialog a tam, pokud máte otevřeno více sešitů, zaškrtněte Pouze aktivní sešit
Pokud byste chtěla synchronizovaný posuv, klikněte na Zobrazit vedle sebe a pod tím se zapne Synchronizovat posuv.
Poté si v každém listu vyberete ten list ke kontrole.
Otázkou je, co chcete kontrolovat. Zda by nebylo lepší využít nějakých vzorců, které vám mohou přesně ukázat, co očima přehlédnete. Ale to bychom museli vědět více...
Mám pocit, že už se mi to kdysi taky stalo. Sem tam se mi rozhodně VBE rozhodne vyhazovat chyby i tam kde evidentně nejsou. Pomáhá restart. Píšete od včerejška, takže máte asi po restartu.
Dělají to všechny soubory na tom PC? Pak asi bude problém v instalaci.
Dělá to ten soubor i na jiném PC? Problém bude v souboru.
Nelze skrýt řádky pouze v některých sloupcích. Lze skrýt pouze celý řádek.
Pokud to máte za účelem porovnávání, můžete druhou tabulku překopírovat na jiný list, vytvořit nové okno sešitu, uspořádat okna aktivního sešitu a takto pak porovnávat (lze zapnout i synchronizaci posuvu).
Jestli je toto efektivní způsob porovnávání už je jiná věc ;)
Pokud se ptáte, jestli prakticky, tak ne. Ono by to těma šipkama mohlo jít, já takto objekty zarovnávám normálně - zvětším list na 400% a posouvám.
Bohužel vám to asi nikdy nebude fungovat (pokud budete chtít vytisknout, jsem si téměř jistý, že se vám to rozjede - zkoušeno asi před 5 lety v E2003, od té doby už raději ne ;))) ).
Otázkou je, proč musíte mít 4 grafy na sobě. Pokud to opravdu jinak nelze, poohlédněte se po nějakém softwaru na tvorbu grafů. Nemohu žádný doporučit, pro svou potřebu jsem si vždy vystačil s excelem.
CTRL+F1
?
Oblíbená fráze Palooo
Len tak z brucha (neotestováno):
Sub subCopyData()
Dim w As Workbook
Set w = Workbooks.Open("Nejaky soubor - plna cesta k souboru A")
With w.Sheets(1).Cells(1).CurrentRegion
ThisWorkbook.Sheets(1).Cells(2, 1).Resize(.Rows.Count, .Columns.Count).Value = .Value
End With 'w.Sheets(1).Cells(1).CurrentRegion
w.Close
Set w = Nothing
End Sub
Soubory máte otevřené nebo chcete mít otevřen pouze soubor A?
V souboru B je více listů?
Na importovaném listu jsou pouze data ke kopírování?
edit - listy jsou v zadání - takže ten dotaz ruším ;)))
Palooo napsal/a:
.copy .paste alebo .pasteSpecial ... tychto prikazov sa vyvarujem a nechci ich pouzivat
Nemá to žádnou výhodu v případě, že chcete kopírovat data (nemůžete využít vložit jinak).
Z mého pohledu je druhá instance použitelná pouze tehdy, když pracujete se souborem s velkým množstvím výpočtů - pak by zpomaloval i ostatní soubory a proto může být lepší mít jej otevřený v jiné instanci.
Mno přece tak, že si ho otevřu v té samé instanci ;)
Úplně stejně, jako bych to dělal ručně (což mimochodem dělám každý měsíc, ale kód se mi na to psát nechce ;))) )
Otevřu 2 soubory - označím oblast, dám CTRL+C a vložím jako hodnoty.
Děláte to snad jinak? ;))
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.