Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


VBA Fejl (hjælp)

 Besvar Besvar Side  <12
Forfatter
maxzpad Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 709
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér maxzpad Citér  BesvarSvar Direkte link til dette indlæg 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
Tor4Every1 Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér Tor4Every1 Citér  BesvarSvar Direkte link til dette indlæg Sendt: 23.Jul.2024 kl. 15:24
Hej Dette er prøvet nu, for stadig fejl i Activesheet.paste 

Til top
maxzpad Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 709
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér maxzpad Citér  BesvarSvar Direkte link til dette indlæg 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
maxzpad Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 709
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér maxzpad Citér  BesvarSvar Direkte link til dette indlæg Sendt: 23.Jul.2024 kl. 15:35
Dit opdaterede link melder: 

Yikes, that page can't be found

Til top
Tor4Every1 Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér Tor4Every1 Citér  BesvarSvar Direkte link til dette indlæg 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
maxzpad Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 709
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér maxzpad Citér  BesvarSvar Direkte link til dette indlæg 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
Tor4Every1 Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér Tor4Every1 Citér  BesvarSvar Direkte link til dette indlæg 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
maxzpad Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 709
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér maxzpad Citér  BesvarSvar Direkte link til dette indlæg 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
Tor4Every1 Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér Tor4Every1 Citér  BesvarSvar Direkte link til dette indlæg 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
Tor4Every1 Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér Tor4Every1 Citér  BesvarSvar Direkte link til dette indlæg 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
Tor4Every1 Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér Tor4Every1 Citér  BesvarSvar Direkte link til dette indlæg 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
maxzpad Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 709
Indlæg funktioner Indlæg funktioner   Tak (1) Tak(1)   Citér maxzpad Citér  BesvarSvar Direkte link til dette indlæg 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
Tor4Every1 Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 15.Mar.2021
Land: Danmark
Status: Offline
Point: 66
Indlæg funktioner Indlæg funktioner   Tak (1) Tak(1)   Citér Tor4Every1 Citér  BesvarSvar Direkte link til dette indlæg 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
 Besvar Besvar Side  <12

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk