• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

sorteren en zoeken

Status
Niet open voor verdere reacties.

prinshf

Gebruiker
Lid geworden
21 jan 2017
Berichten
29
Ik heb een programma in Excel, Ik ben daar ooit door iemand hier mee geholpen met een macro. Nu moest ik de toetsen Alt F8 gebruiken, maar nu krijg ik opeens een foutmelding en staat de originele macro er niet meer alleen nog maar hsv en werkt het niet meer.

Zou iemand mij kunnen vertellen of kunnen verhelpen de fout te herstellen?

alvast bedankt

herman

in de nu toegevoegde bijlage die ik weer van het forum heb gehaald staat de juiste macro er wel in, maar werkt niet.
 

Bijlagen

Hey Herman

Kan je het bestand niet restoren? Het lijkt me dat er nog een stuk van de codering ontbreekt op werkboek niveau.

rechtermuisklik > restore previous versions
 
Die macro van HSV werkt hier zonder een fout te geven.
Dus, wat werkt er nu niet?
 
Als ik op alt f8 druk krijg ik de foutmelding, krijg ik ook hsv te zien, maar het gaat om de macro gilde -expeditie.
als ik dan op foutoplossing druk krijg ik bijgaande tekst

Sub hsv()
Dim sq, jj As Long, i As Long, cl, sh As Worksheet
With CreateObject("System.Collections.ArrayList")
For Each sh In Sheets
For jj = 3 To 4
sq = sh.Range(sh.Cells(1, jj), sh.Cells(Rows.Count, jj).End(xlUp).Address)
For i = 1 To UBound(sq)
For Each cl In Split(sq(i, 1), ",")
If Not cl = "" And Not cl = " " And Not .contains(cl) Then .Add Trim(cl)
Next cl
.Sort
sq(i, 1) = Join(.toarray, ",")
.Clear
Next i
sh.Cells(1, jj).Resize(UBound(sq)) = sq
Erase sq
Next jj
Next sh
End With
End Sub

waarbij de zin With CreateObject("System.Collections.ArrayList") geel is
 
Als je zegt een foutmelding te krijgen vermeld deze er dan ook bij, nummer en omschrijving.
Een gele regel is overigens geen fout.
Met F8 loop je stap voor stap door de code waarbij de gele regel de volgende is die uitgevoerd gaat worden bij weer een druk op de F8 toets.
Een macro met de naam gilde -expeditie kan niet bestaan vanwege de spatie in die tekst.
Niet duidelijk dus wat je daarmee bedoelt.

NB:
Als je code plaatst, zet deze dan in codetags.
Zie de link in m'n handtekening.
 
Laatst bewerkt:
de foutmelding is
Fout- 2146232576 (80131700) tijdens uitvoering
automatiseringsfout
 
Druk eens niet op F8 maar op F5.
De foutmelding zal verschijnen, klik op Fout opsporen, welke regel is er dan geselecteerd?
Welke versie van Excel gebruik je?
 
Staat er al @edmoor.
Code:
With CreateObject("System.Collections.ArrayList")
Heb het zelf ook in XL-2016 zit ergens in het .net framework wat ik er van kan vinden. Maar werkt wel in Xl-2010?
 
Iets met 64bits .net framework en 32bits Excel.

Bij sommige helpt deze link.
https://www.microsoft.com/en-us/download/confirmation.aspx?id=1639

Misschien kunnen we gebruik maken van 'createobject("scripting.dictionary")' maar die kan de array niet sorteren, maar dat je het blad sorteert.

Ik dat alle bladen op een na verborgen zijn, die zul je dan eerst even zichtbaar moeten maken.
 
Laatst bewerkt:
Aha hallo Harry

jij hebt het voor mij toen gemaakt op 27 januari 2017 onder de titel zoeken in alle werkbladen van een excel.

Ik had het een tijdje niet gebruikt, maar nu werkt het opeens niet meer. Dus misschien kan jij me weer helpen

ik gebruik microsoft office professional plus 2016.

met vriendelijke groet
 
Staat er al @edmoor.
Code:
With CreateObject("System.Collections.ArrayList")
Ja, Maar F5 is wat anders dan F8 en ik wilde zeker weten dat het om dezelfde regel gaat.
 
Ik had op hetzelfde tijdstip mijn vorig schrijven net aangepast.
Probeer dit eerst eens.

Anders het bestand even plaatsen met alle bladen zichtbaar.
Misschien kunnen we een gewone array gebruiken met of zonder sortering met een extra lus in de array.
 
Heb je al op de link die ik plaatste gezocht of dat helpt?
Dan zijn we direct klaar.
 
ik heb op de link geklikt en er is iets geinstalleerd, maar het werkt nog niet
 
Test dit eens.
Code:
Sub hsv()
Dim sq, jj As Long, i As Long, cl, sh As Worksheet, c00 As String
    For Each sh In Sheets
     For jj = 1 To sh.UsedRange.Columns.Count
      sq = sh.Range(sh.Cells(1, jj), sh.Cells(Rows.Count, jj).End(xlUp).Address)
        If IsArray(sq) Then
                For i = 2 To UBound(sq)
                   For Each cl In Split(sq(i, 1), ",")
                      If InStr(c00, cl) = 0 Then c00 = c00 & "|" & cl
                   Next cl
                sq(i, 1) = Mid(c00, 2)
                c00 = ""
               Next i
             sh.Cells(1, jj).Resize(UBound(sq)) = sq
           Erase sq
        End If
      Next jj
     Next sh
End Sub
 
Hallo Harry,

Ik krijg geen foutmelding meer, maar hij sorteert helaas niet meer

m.vr.gr herman
 
Je bedoelt 4 huppeldepup,2 huppel,3 hup
moet worden: 2 huppel,3 hup,4 huppeldepup ?
 
wat ik bedoel is als ik heb opgegeven

4 exoskelet, 2 drone, 2 ultra-ap
4 draken, 4 plasma
4 aanvalstank, 4 aanvalsteams
2 antimaterieelsniper, 2 stealthtank, 4 ultra-ap
3 ninja, 3 roninbot, 2 octopot
4 geverchtsdrone, 4 hoovertank

dat hij het op alfabetische volgorde sorteert
 
Dus de 2 gaat voor de 3 en 4.
Toch niet de teksten?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan