Forfatter |
Emne Søg Emne funktioner
|
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 698
|
Indlæg funktioner
Tak(0)
Citér Svar
Sendt: 23.Jul.2024 kl. 15:15 |
Jeg har følgende forslag til ændringer:
1) Alle linjer med 'Windows("HAMMER NV.xls").Activate' kan fjernes eller kommenteres væk med en apostrof. Årsag: Koden gør ikke andet end at aktivere et vindue, som allerede er aktivt.
2) Alle linjer med 'excelsheet.Range("A1").Paste' bør fjernes eller kommenteres væk. "excelsheet" genkendes ikke som en variabel, og den er ikke hverken dimensioneret eller sat nogen steder i nogen kodemoduler. Anvend i stedet "ActiveSheet.Paste"
3) Jeg fik - til at starte med - en fejl på kodelinjen med "Selection.Left = 300", fordi "Left" ikke blev genkendt som en kommando eller funktion. Med baggrund i tidligere tilsvarende oplevelse gjorde jeg følgende:
- Menupunkt Tools | References ... - Fjern afkrydsning af "OLE Automation" - OK og gem filen - Menupunkt Tools | References ... - Sæt afkrydsning af "OLE Automation" igen - OK og gem filen
Dette fjernede denne specifikke fejl hos mig.
|
![Til top Til top](forum_images/back_to_top.png) |
|
|
![Til top Til top](forum_images/back_to_top.png) |
Tor4Every1
Bronze bruger
Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
|
Indlæg funktioner
Tak(0)
Citér Svar
Sendt: 23.Jul.2024 kl. 15:24 |
Hej Dette er prøvet nu, for stadig fejl i Activesheet.paste
|
![Til top Til top](forum_images/back_to_top.png) |
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 698
|
Indlæg funktioner
Tak(0)
Citér Svar
Sendt: 23.Jul.2024 kl. 15:33 |
Jeg ved ikke, om det gør en forskel, men jeg har gemt filen i .xlsm-format. Er der en særlig grund til, at I beholder filen i .xls-format, hvis I alle kører Excel-versioner, der understøtter de nyere formater? Derudover har jeg fjernet den digitale signering af VBA-projektet, fordi Excel blokerede helt for makroerne med den begrundelse, at den digitale signatur (CodeSigning.aarsleff.com) er ugyldig.
Jeg får ikke selv Paste-fejlene, når jeg kører koden. Kan du fortælle mig hvilken kodelinje, der trigger den senest oplevede fejl? Dvs. ved hvilken "Case [bogstav]" sker det?
|
![Til top Til top](forum_images/back_to_top.png) |
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 698
|
Indlæg funktioner
Tak(0)
Citér Svar
Sendt: 23.Jul.2024 kl. 15:35 |
Dit opdaterede link melder: Yikes, that page can't be found
|
![Til top Til top](forum_images/back_to_top.png) |
Tor4Every1
Bronze bruger
Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
|
Indlæg funktioner
Tak(0)
Citér Svar
Sendt: 23.Jul.2024 kl. 15:47 |
HEj Max
Det gør den allerede ved Case "NX" og alle de andre. Hvis jeg trykker F8 en gang og så play, så gør den samme ved de fremtidige
|
![Til top Til top](forum_images/back_to_top.png) |
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 698
|
Indlæg funktioner
Tak(0)
Citér Svar
Sendt: 23.Jul.2024 kl. 16:06 |
Er det stadig Paste-funktionen, der skaber fejlen (hvis du sætter Error Trapping til, så den stopper ved fejlen)?
|
![Til top Til top](forum_images/back_to_top.png) |
Tor4Every1
Bronze bruger
Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
|
Indlæg funktioner
Tak(0)
Citér Svar
Sendt: 24.Jul.2024 kl. 07:37 |
Ja den laver stadig den samme fejl, ligegyldigt hvilken af dem der er på, nogen gange kopier den 2 billeder ind. og stopper ved det 3. og andre gange ingen billeder ind.
|
![Til top Til top](forum_images/back_to_top.png) |
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 698
|
Indlæg funktioner
Tak(0)
Citér Svar
Sendt: 24.Jul.2024 kl. 10:45 |
Jeg er måske - måske ikke - på sporet af noget.
DrawingObjects er åbenbart et gammelt/ældre objekt i VBA.
Prøv at udskifte (alle steder) fx:
ActiveSheet.DrawingObjects("Billede 3603").Copy
udskiftes med
ActiveSheet.Shapes("Billede 3603").Copy
Det er lidt et long-shot, for når jeg kører makroen igen og igen, så oplever jeg også, at der sporadisk opstår run-time-fejl (og nogle gange kører den bare igennem). Det opstår både i forbindelse med .Paste og .Copy, og ved debugging kører den bare videre uden fejl, når man trykker F8 eller F5, så det er virkelig meget mystisk.
|
![Til top Til top](forum_images/back_to_top.png) |
Tor4Every1
Bronze bruger
Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
|
Indlæg funktioner
Tak(0)
Citér Svar
Sendt: 24.Jul.2024 kl. 11:17 |
Jeg har nu udskiftet den alle steder, og får stadig fejlen ved .paste Er der en nyere objekt for paste ? Det er samme problem her, jeg kan kun få det til at virke meget sporadisk
|
![Til top Til top](forum_images/back_to_top.png) |
Tor4Every1
Bronze bruger
Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
|
Indlæg funktioner
Tak(0)
Citér Svar
Sendt: 24.Jul.2024 kl. 12:38 |
Jeg har prøvet at lave det på en ny måde.
Så jeg
Sub KopierBillede3625() Dim ws As Worksheet Dim pic As Shape ' Sæt navnet på arket og billedet her Set ws = ThisWorkbook.Sheets("Bukkeliste") Set pic = ws.Shapes("Billede 3625") ' Kopier billedet pic.Copy End Sub
Sub IndsætBillede3625() Set wsDest = ThisWorkbook.Sheets("Bukkeliste") wsDest.Activate wsDest.Paste End Sub
Og så derefter skriver i min første Case "N" 'ActiveSheet.Shapes("Billede 3594").Copy 'ActiveSheet.Paste Call KopierBillede3594 Call IndsætBillede3594 GoSub Flyt_tegning ActiveSheet.Range("L16").Offset(l * 4 + sider * 56, 0) = "a= " & a ActiveSheet.Range("L17").Offset(l * 4 + sider * 56, 0) = "b= " & b
Virker heller ikke, Paste fejlen fejler igen
|
![Til top Til top](forum_images/back_to_top.png) |
Tor4Every1
Bronze bruger
Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
|
Indlæg funktioner
Tak(0)
Citér Svar
Sendt: 24.Jul.2024 kl. 12:51 |
Hej Max,
Jeg tror jeg fandt løsning / problemet . Sub KopierBillede3625() Dim ws As Worksheet Dim pic As Shape ' Sæt navnet på arket og billedet her Set ws = ThisWorkbook.Sheets("Bukkeliste") Set pic = ws.Shapes("Billede 3625") ' Kopier billedet pic.Copy End Sub
Sub IndsætBillede3625() Dim wsDest As Worksheet Set wsDest = ThisWorkbook.Sheets("Bukkeliste") wsDest.Activate Application.Wait Now + TimeValue("00:00:01") wsDest.Paste End Sub
Jeg satte en timervalue på inden paste. da den ikke kunne nå at kopiere og indsætte så hurtigt, har prøvet det 56 gange og det virker :) nu skal det bare testet på kollegaers computer også
|
![Til top Til top](forum_images/back_to_top.png) |
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 698
|
Indlæg funktioner
Tak(1)
Citér Svar
Sendt: 24.Jul.2024 kl. 13:49 |
Jeg var faktisk også selv ude i spekulationer om, hvorvidt det kunne være en løsning (indsætte en pause), netop fordi fejlen opstod så sporadisk. Jeg havde i første omgang forsøgt mig med DoEvents efter Copy og Paste, men det gav ikke noget. Men super fedt hvis Application.Wait er løsningen. Såre simpelt men svært at gennemskue ved debugging.
|
![Til top Til top](forum_images/back_to_top.png) |
Tor4Every1
Bronze bruger
Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
|
Indlæg funktioner
Tak(1)
Citér Svar
Sendt: 24.Jul.2024 kl. 13:53 |
Ja det har også taget sin tid at finde fejlen, men er testet på 6 forskellige computere hvor det ikke virkede og der virker det igen.
Så tænker fejlen er fixet.
Men stadig igen tak for hjælpen. Havde ikke kommet i mål uden dig
|
![Til top Til top](forum_images/back_to_top.png) |