Hirdetés
- A természettel együtt ébredeznek a hardverek
- A '90-es évek jutnak az eszünkbe az ATK készülő egeréről
- Huszadik születésnapjára eléggé megváltozott az Antec nagytornya
- Még a saját szövetségeseivel szemben is fegyverként használná az AI-t az USA
- Mégis meglepi egy új GeForce-szal a rajongókat az NVIDIA?
-
PROHARDVER!
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Lasersailing
senior tag
Sziasztok,
Előre is elnézést, kicsit hosszú lesz a probléma leírás. Ha van ötletetek, akkor kérlek segítsetek megtalálni a hiba okát!Egy üres excel sheetről indultam. A file jelenleg a C: drive-on fut, így is produkálja a hibát, ha hálózaton van, akkor is előjön a hiba. (Hálózati futtatás során az alábbi hiba még read-only státuszt is eredményez, de ezzel ne foglalkozzunk, mert ha az alábbi problémát megoldjuk, akkor a read-only probléma megoldódik.)
A file-t a makró futtatása előtt ötször lementettem, bezártam, megnyitottam, semmi hibát nem tapasztaltam.
Excelben lefuttatva egy makrót, majd a file-t elmentve az alábbi hibaüzenet fogad.
Ha az alábbi makrót lefuttatom, file-t elmentem, majd ismét megnyitom előjön az alábbi hiba:

Yes-re kattintva az alábbi fogad:
A problémát okozó makró:
A makró alábbi része, gyakorlatilag a trial kitting nevű file-ból átmásol egy táblázatot, közé beszúrva az eredeti excel file-ban található sorokat. Utólag belegondolva, lehet egyszerűbb lenne az egész táblát átmásolni, mögéfűzni az új sorokat, majd az egészet dátum szerint lerendezni. (Mentségemre: nem excel vba-ban tanultam programozni, hanem még turbo pascalban, ott meg ilyen lehetőség nem volt)
Sub trial_kitting_kalkulator()Dim tke_sm As IntegerDim tk_sm As IntegerDim tk_smig As IntegerDim input_sm As IntegerDim datum As DateCall rendezSheets(TKE).SelectRange("A4").SelectRange(Selection, ActiveCell.SpecialCells(xlLastCell)).SelectSelection.DeleteApplication.ScreenUpdating = FalseWorkbooks.Open filenevWindows("Trial kitting.xlsm").ActivateIf ActiveSheet.AutoFilterMode Then Selection.AutoFilterSheets(SOB).SelectRange("A3:V3").SelectSelection.CopyWindows("trial kitting kalkulátor.xlsm").ActivateSheets(TKE).SelectRange("A3").SelectActiveSheet.Pasteinput_sm = 16tk_sm = 4tke_sm = 4Dodatum = Sheets(bemenet).Cells(input_sm, 9)'Trial kittingből kimásolja azokat a sorokat, melyek korábbiak, vagy aznapiakWindows("Trial kitting.xlsm").Activatetk_smig = tk_smWhile (Sheets(SOB).Cells(tk_smig + 1, 1).Value <= datum)tk_smig = tk_smig + 1Wend'Rows(tk_sm & ":" & tk_smig).SelectIf Not (IsEmpty(Sheets(SOB).Cells(tk_smig + 2, 1).Value)) Thendatum = Sheets(SOB).Cells(tk_smig + 1, 1).ValueElsedatum = "2021/01/01"End IfRange(Cells(tk_sm, 1), Cells(tk_smig, 22)).SelectApplication.CutCopyMode = FalseSelection.CopyWindows("trial kitting kalkulátor.xlsm").ActivateSheets(TKE).SelectCells(tke_sm, 1).SelectActiveSheet.Pastetke_sm = tk_smig + input_sm - 15tk_sm = tk_smig + 1'Trial kitting előrejelzésbe beírja a szükséges adatokatWhile (Sheets(bemenet).Cells(input_sm, 9).Value < datum) And Not (IsEmpty(Sheets(bemenet).Cells(input_sm, 9)))Sheets(TKE).Cells(tke_sm, 1) = Sheets(bemenet).Cells(input_sm, 9)Sheets(TKE).Cells(tke_sm, 2) = "Dummy"Sheets(TKE).Cells(tke_sm, 3) = "Dummy"Sheets(TKE).Cells(tke_sm, 4) = "Dummy"Sheets(TKE).Cells(tke_sm, 5) = Sheets(bemenet).Cells(input_sm, 2)Sheets(TKE).Cells(tke_sm, 6) = "Dummy"Sheets(TKE).Cells(tke_sm, 7) = "Dummy"Sheets(TKE).Cells(tke_sm, 8) = "Dummy"Sheets(TKE).Cells(tke_sm, 9) = "Dummy"Sheets(TKE).Cells(tke_sm, 10) = "Dummy"Sheets(TKE).Cells(tke_sm, 11) = Sheets(bemenet).Cells(input_sm, 9)Sheets(TKE).Cells(tke_sm, 12) = Sheets(bemenet).Cells(input_sm, 9)Sheets(TKE).Cells(tke_sm, 13) = Sheets(bemenet).Cells(input_sm, 7)Sheets(TKE).Cells(tke_sm, 14) = "Dummy"Sheets(TKE).Cells(tke_sm, 15) = "Dummy"Sheets(TKE).Cells(tke_sm, 16) = Sheets(bemenet).Cells(input_sm, 5)Sheets(TKE).Cells(tke_sm, 17) = 0Sheets(TKE).Cells(tke_sm, 18) = Sheets(bemenet).Cells(input_sm, 5)Sheets(TKE).Cells(tke_sm, 19) = "Dummy"tke_sm = tke_sm + 1input_sm = input_sm + 1Wend'Loop Until (IsEmpty(Sheets(bemenet).Cells(input_sm, 1))) Or datum = "01/01/2021"Loop Until datum = "01/01/2021"Application.ScreenUpdating = TrueVan ötletetek, hogy a fenti sorokból mi okozhatj a a file sérülését?
köszi előre is!
Új hozzászólás Aktív témák
- Kés topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Vicces képek
- CASIO órák kedvelők topicja!
- Pedzegeti az új Xbox irányát a Microsoft
- Milyen processzort vegyek?
- Autóhifi
- Horgász topik
- További aktív témák...
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- The Elder Scrolls Online Imperial Collector s Edition
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50
