For kol = 1 To antalKol If søgIkolonne(kol, søgeVærdi) > 0 Then Columns(kol).Select Selection.Delete kol = kol - 1 kolSlettet = kolSlettet + 1 End If Next kol
MsgBox CStr(kolSlettet) & " kolonner slettet" End Sub Private Function søgIkolonne(kolonne, værdi)
With ActiveSheet.Columns(kolonne) Set c = .Find(værdi, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then søgIkolonne = c.Column Else søgIkolonne = 0 End If End With End Function
Det ark, som du skal søge i og evt. slette kolonner i - er det relevante ark. Hvis du højreklikker på arkfanen - vil du i menuen bl.a. se "Vis programkode".
Hvis det kan være en hjælp - så er du velkommen til at få min Excel-fil. Du skal blot sende en mail til mig. @-adresse under min profil.
Det er lidt problematisk eftersom der er 360.000 kolonner. Det betyder min computer simpelthen ikke kan håndtere alt den data, er der evt. en anden mulighed? Imens x-værdierne udgør 250.000 kolonner.
F.eks. sorterer alle x-værdier så de fremgår øverst i regnearket, og så derefter markere og slette dem?
Jeg kan se at datatypen for antal kolonner m.v. skal ændres - d.v.s. at de 2 første rækker i koden skal ændres til:
Dim antalKol As long, søgeVærdi Dim kol As long, kolSlettet As long
(Integer er ændret til Long)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.