< návrat zpět
MS Excel
Téma: přechod z Excel 2007 na 2010/2013/2016
Zaslal/a fasd39 28.7.2019 13:02
Do nedávna jsem spokojeně používal Excel 2007 a vytvářel si makra a vše fungovalo. Nyní jsem si nainstaloval Office 2013 a poté 2016 a dost věcí nefunguje jako dříve.
Prosím o pomoc, zda někdo ví proč se děje následující (viz přiložený soubor) - v listu Zápis KDS mám makro na vytváření nových řádků (stisk Ctrl+Shift+K), pokud otevřu sešit, použiji klávesovou zkratku, řádek se přidá, i více pokud bych potřeboval. Pokud ALE udělám nějakou jinou změnu, např. vždy po VYMAZÁNÍ čehokoliv, makro přestane fungovat a objeví se hláška "...vyvolaný objekt se odpojil od svých klientů". A aby toho nebylo málo, Excel po této hlášce napůl ZAMRZNE, funguje, ale nejde viditelně vybrat bunka napr.
makro jsem neměnil, vše se zdá OK, a hláška samotná mi nic neříká, ani googling moc nepomohl.
Největší stopa je to mazání (hodnoty v buňkách, řádky, cokoliv), ale tímhle směrem nevím co s tím dělat.
Budu rád za každou stopu, radu, řešení.
Díky moc.
PS: nění nějaký převaděč souborů z verze 2007 do novějších? ve kterém by se rozdílné věci verzí srovnaly...
veny(31.7.2019 10:00)#043852 Ahoj
teď jsem u sebe vyzkoušel (Excel 2016) a funguje na kterékoliv pozici, ať udělám jakoukoliv změnu (doplnění údajů, vymazání, změna filtru)
citovat
fasd39(31.7.2019 20:54)#043856 Díky veny.
Co může způsobit, že stejný soubor a stejjné makro na jednom pocitaci jede a na druhem ne?
Má smysl zkoušet nainstalovat jiné Office? Nebo Win (to se mi teda chce hodně málo)?
citovat
Skúste vymeniť to makro za iné.
Sub vlozeniNOVEHOkomentare()
'
' Makro1 Makro
'
Dim R As Long
Application.ScreenUpdating = False
Sheets("KD (pomoc)").Rows(5).Copy
R = ActiveCell.Row + 1
With Sheets("Zápis KDS")
.Cells(R, 1).Insert Shift:=xlDown
With .Cells(R, 1).Resize(, 9)
.Value = .Value
.Cells(1, 5).Select
End With
End With
Application.ScreenUpdating = True
Calculate
End Sub
A myslím, že volanie metódy Calculate tam nieje potrebné.
citovat
fasd39(1.8.2019 13:20)#043858 elninoslov dekuju, ale i s novym zapsanim makra se to chova uplne stejne. po otevreni funguje, po zmene na listu hazi chybu.
Navic jsem si vsiml, ze po naskoceni chyby "zamrznou" veskera otevrena okna excelu a musim vsechny zavrit a znovu otevrit.
citovat
Skúste ešte úplne vynechať Copy.
Sub vlozeniNOVEHOkomentare()
'
' Makro1 Makro
'
Dim R As Long
Application.ScreenUpdating = False
R = ActiveCell.Row + 1
With Sheets("Zápis KDS")
.Cells(R, 1).Insert
With .Cells(R, 1).Resize(, 9)
.Value = Sheets("KD (pomoc)").Range("A5:I5").Value
.Cells(1, 5).Select
.Resize(, 7).Borders.Weight = xlHairline
.Cells(1, 1).NumberFormat = "@""-"""
.Cells(1, 2).NumberFormat = "0"
.Cells(1, 4).NumberFormat = "d/m/yy;@"
.Cells(1, 7).NumberFormat = "dd/mm/yy"
Union(.Cells(1, 3), .Cells(1, 5).Resize(, 2), .Cells(1, 8).Resize(, 2)).NumberFormat = "General"
End With
End With
Application.ScreenUpdating = True
'Calculate
End Subcitovat
fasd39(8.8.2019 15:06)#043905 FUNGUJE :)
Moc díky!
pres "copy" by to tedy bylo jednodussi, budu muset nastavit jeste dalsi vlastnosti nových bunek, ale to zvladnu.
je nejaky známý důvod, proc funkce "copy" zlobí?
citovat
fasd39(12.8.2019 10:54)#043935 up
ovladat nastaveni bunek uz jsem se naucil :)
jeste zkusim, ovladat je zas v zavislosti na vlastnostech zdrojovych bunek.
to jde.
a co to COPY? dekuju
citovat
elninoslov(12.8.2019 12:27)#043936 Ja čo si pamätám, tak u mňa "zlobí" schránka vo VBA a celkovo aj v Exceli už od 2013. A skúšal som všetky Exceli 2013/2016/2019 v kombináciách s Win8.1 a W10 (všetky polročné verzie od 9/2015) s aktualizáciami aj bez. Jedine čo som tuším neskúšal je Office 365. Napr. návody na API Clipboard Management vo VBA čo sú na nete nefungujú (nerozbehal som), Excel vo VBA padal pri kopírovaní celého listu do iného súboru. Ale aj bez VBA mám problém min od 2016, pri kopírovaní bunky Ctrl+C a prilepení inde Ctrl+V nepravideľne vypisuje chybu "Vyskytol sa problém so schránkou ..." a Excel stratí kurzor. A pod... Nie som jediný čo má problém so schránkou. Ale zvykol som si častejšie sejvovať, a nemám chuť zisťovať "jádro pudla".
Osobne vysvetliť neviem.
Skúste 32-bit verziu inštalácie.
citovat
fasd39(13.8.2019 21:36)#043939 Díky za reakci. Je neuvěřitelný, že takový nástroj, jako je Excel, má takovýhle mouchy...
OK chápu a asi to teda taky nachám být a zkusím se kopírování/schránce vyhnout...
Jen pro zajímavost, stejný soubor v Excel 2010 funguje (včetně všech maker používající copy), ale někdy se stane, že tlačítka maker se roblikají/rozklepají a začnou se zmenšovat a uhybat po stránce .... :)
At se daří a jeste jednou díky, nejen že to pomohlo, ale naučil jsem se definovat spoustu vlastností bunek v VBA :)
citovat