04. februar 2004 - 11:08Der er
12 kommentarer og 1 løsning
Makro lukker excel under kørsel
Jeg har fundet en makro, jeg måske kan bruge når der foretages et par rettelser. Problemet er, at makroen genererer en fejl og lukker excel ned. Hvis jeg stepper gennem koden trin for trin kører den ok, men når den køres fra arket, lukker den, hvorfor? Jeg bruger xl97, hvis det betyder noget. Koden er som følger:
Sub ShowTheForm() UserForm1.Show End Sub Sub SortAndRemoveDupes() Dim rListSort As Range, rOldList As Range Dim strRowSource As String
'Clear Hidden sheet Column A ready for list Sheet1.Range("A1", Sheet1.Range("A65536").End(xlUp)).Clear
'Set range variable to list we want Set rOldList = Sheet2.Range("A1", Sheet2.Range("A65536").End(xlUp))
'Use AdvancedFilter to copy the list to Column A _ of the hidden sheet and remove all dupes rOldList.AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Sheet1.Cells(1, 1), Unique:=True
'Set range variable to the new non dupe list Set rListSort = Sheet1.Range("A1", Sheet1.Range("A65536").End(xlUp))
With rListSort 'Sort the new non dupe list .Sort Key1:=.Cells(2, 1), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom End With
'Parse the address of the sorted unique items strRowSource = Sheet1.Name & "!" & Sheet1.Range _ ("A2", Sheet1.Range("A65536").End(xlUp)).Address
Sheet1.Range("A1") = "New Sorted Unique List" With UserForm1.ListBox1 'Clear old ListBox RowSource .RowSource = vbNullString 'Parse new one .RowSource = strRowSource End With
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Har nu prøvet begge dele, det hjælper desværre ikke, excel lukker stadig.
Hvis jeg sletter hele den sidste del, fra 'Parse the address of the sorted unique items, virker det fint, bortset fra at den sorterede liste ikke skrives i listboksen. Kan det være noget med strRowSource og den Range den skal finde?
Så har jeg prøvet at skifte linien, men det hjælper desværre ikke, den kommer med en fejlmeddelelse; Range for objektet... Jeg har prøvet på både DK og US version af Excel97, og den lukker på begge, så mon ikke det er en fejl i Excel97, når den virker upåklagelig i Excel2002.
Hvis det er bestemmelsen af Range der er problemet, kan man så bruge en anden funktion i stedet for End(xlUp), måske noget med at vælge ikke-tomme celler i kolonnen?
Perfekt!! :o) Nu virker det uden problemer. Mange tak for hjælpen, smid lige et svar. Jeg fordobler lige point, for det var vist ikke et nemt spørgsmål, i hvert fald ikke herfra hvor jeg sidder :o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.