Uralt VBA wieder zum Laufen bekommen
#1
Hallo zusammen, 

habe hier eine uralte VBA, die ich wieder zum Laufen bekommen soll. 

Wenn ich sie öffne kommt erstmal folgende Meldung: 

   

Das hier ist der Übeltäter

Code:
Sub sortieren()
'
' sortieren Makro
'

'
    Range("G21:G40").Select
    Selection.Copy
    Range("H21").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("H21:H40").Select
    Application.CutCopyMode = False
    ActiveWorkbook.Worksheets("Quantilberechnung").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Quantilberechnung").Sort.SortFields.Add Key:=Range _
        ("H21"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Quantilberechnung").Sort
        .SetRange Range("H21:H40")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub



Dann geht es weiter mit einem Kompilierungsfehler hier --> wegen 32 vs. 64 Bit 
Code:
Declare Sub hmemcpy Lib "KERNEL32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)



Ich habe im ersten Schritt einfach mal die Funktion in sortieren1 umbenannt. 

Dann habe ich den Declare folgendermaßen ersetzt: 
Code:
Declare PtrSafe Sub hmemcpy Lib "kernel32" Alias "RtlMoveMemory" (ByRef hpvDest As Any, ByRef hpvSource As Any, ByVal cbCopy As LongPtr)


Dann bekomme ich aber die nächste Fehlermeldung:
   


Mich nervt die Datei so langsam etwas. 
Jedes Mal, wenn ich einen Fehler fixe kommen gefühlt 3 neue dazu. 

Hat jemand eine Idee, wie ich die Datei noch retten kann? 
Danke
Antworten Top
#2
Edit: Sorry, nicht bis zu Ende gelesen...

Wenn du eine Musterdatei hochlädst, können wir tiefer graben
Antworten Top
#3
Huhu - hatte ich bereits gemacht. 

Wirft aber irgendwie mehr Fehler auf als dass es löst
Antworten Top
#4
Hallo Strammer Max,

ich sehe hier keine Beispieldatei, sondern nur Bilder.

Der Left/Mid-Fehler könnte an einem fehlenden bzw. fehlerhaften Verweis liegen. Bitte mal in den Verweisen schauen ob "Visual Basic for Applications" und "Office-Library..." angehakt sind.

Dein korrigierter Declare ist nach meínem API-Viewer richtig, aber es könnte trotzdem zu Fehlern kommen, z.B. bei fehlerhafter Längenangabe usw. Daher wäre eine Datei schon mal gut.

Hier noch was zum Thema, bei dem ich auch mal etwas dazu geschrieben hatte.

https://www.clever-excel-forum.de/Thread...#pid284394

Gruß
Karl-Heinz
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste