Krijg foutmelding als er geen d of h in kolom 9 staat.

Status
Niet open voor verdere reacties.

samui

Verenigingslid
Lid geworden
26 mei 2012
Berichten
207
Beste helpers van het forum,


Code:
Sub rij_eraf_bij_PE_als_Op()
                            
Application.ScreenUpdating = False

svv = Cells(1).CurrentRegion

  For iis = UBound(svv) To 4 Step -1
   If svv(iis, 9) = "d" Then Rows(iis).Offset(1).Delete
   If svv(iis, 9) = "h" Then Rows(iis).Offset(1).Delete
  Next iis
End Sub

Kom er vandaag achter dat er soms geen d of h in deze kolom 9 staat. De h komt niet vaak voor maar is wel belangrijk om mee te blijven doen in deze macro.
Ik krijg dan een foutmelding dat het subscript buiten het bereik valt. Dat snap ik want er is geen d of h in het te doorzoeken gebied.
Ik zit te klooien met een if en next of on error goto om de macro door te laten lopen maar dan slaat hij heel de bovenste macro over en worden er geen regel verwijdert ook al staat er wel een d of h
Wat mis ik in de macro zodat hij wel gewoon doorgaat als er geen d of h in kolom 9 staat?

Op de plek waar de d's staan in de bijlage moet ook Op staan en dan moet de macro dus eigenlijk niks doen, geen regels wissen maar gewoon eindigen.

Hoop op respons.

mvg,

Frank
 

Bijlagen

Welke foutmelding krijg je dan? Waarom staat het bereik vol met spaties. Welk resultaat verwacht je?
 
ik gok dat je array op dat ogenblik geen 9 kolommen breed is.Dat kon je checken door onderstaande regel in te voeren als 3e regel.
Mogelijks gaat het beter als je svv dwingt om 9 kolommen breed te zijn, door minstens de toevoeging ".resize(,9)" of dan op die andere manier bepaalt
Code:
If UBound(svv, 2) < 9 Then MsgBox "onvoldoende kolommen": Exit Sub

svv = activesheet.UsedRange.Resize(, 9)
Kijk wel na of er toch altijd iets staat in kolom A, want dan kan het ook nog fout gaan.
Maar er zijn handiger/sneller manieren om dit verwijderen te bereiken, gewoon een formule-kolom ergens buiten beeld, een filter erop en alle gefilterde waarden deleten
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan