Avatar billede frederikpag Nybegynder
02. december 2005 - 15:40 Der er 8 kommentarer og
1 løsning

Makro som sletter rækker indeholdende specifik data?

Hej Eksperter,

Ved dataimport fra en tekstfil til excel får jeg desværre sidehovedet for for hver side. Det vil side at der er nogle rækker med data og derefter et sidehoved og så noget data osv. Er der nogle af jer der kan vinkle at hjælpe mig med en makro som kan slette disse sidehoved-rækker? Sidehovedet består af 12 rækker hvoraf der er data i 4 af dem det ser ud som følger:

Firmanavn A/S   
----------    ---------------------
KUNDE/VARE    STATISTIK PR DEBITOR
----------    ---------------------
 
Stregerne fremgår også andre steder i arket og må helst ikke slettes derfra....
Avatar billede tobler Nybegynder
02. december 2005 - 16:17 #1
Prøv med denne:

Sub Sletlinier()
 
  ' Fjern overskriftslinier
  Dim lngRow As Long, lngLastRow As Long
  lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row 'Husk at rette til den kolonne med de sidste data er
  For lngRow = lngLastRow To 1 Step -1
    If Cells(lngRow, "A").Value = "Firmanavn A/S" Then
        Cells(lngRow, "A").EntireRow.Delete
    End If
    If Cells(lngRow, "A").Value = "----------" Then
        Cells(lngRow, "A").EntireRow.Delete
    End If
    If Cells(lngRow, "A").Value = "KUNDE/VARE" Then
        Cells(lngRow, "A").EntireRow.Delete
    End If
  Next lngRow
  ActiveSheet.UsedRange
End Sub
Avatar billede frederikpag Nybegynder
02. december 2005 - 16:42 #2
Men altså... Du er jo genial!! Jeg har selv en makro som sletter alle tomme rækker så det er jo bare i vinkel... Jeg har dog yderligere nogle rækker jeg ønsker at slette hvori der fx. står sælger eller lign. Jeg har fundet denne her makro som burde slette en række hvis den indenholder data magen til det man indtaster, men den virker ikke... Jeg får en Run-time '6' Error.... Overflow. :-( Dengår åbenbart galt i linien: NumRows = rngSrc.Rows.Count

Kan du måske hjælpe med at debugge?

Sub DeleteRowsTrigger()
Dim strToDelete As String
Dim rngSrc As Range
Dim NumRows As Integer
Dim ThisRow As Integer
Dim ThatRow As Integer
Dim ThisCol As Integer
Dim J As Integer
Dim DeletedRows As Integer

strToDelete = InputBox("Value to Trigger Delete?", "Delete Rows")
Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address)

NumRows = rngSrc.Rows.Count
ThisRow = rngSrc.Row
ThatRow = ThisRow + NumRows - 1
ThisCol = rngSrc.column

For J = ThatRow To ThisRow Step -1
If Cells(J, ThisCol) = strToDelete Then
Rows(J).Select
Selection.Delete Shift:=xlUp
DeletedRows = DeletedRows + 1
End If
Next J
MsgBox "Number of deleted rows: " & DeletedRows

End Sub
Avatar billede bak Forsker
02. december 2005 - 18:37 #3
Det er nok fordi alle data skal være markeret før du kører makroen.

Hvilket program importer du iøvrigt fra ?  Concorde ?
Avatar billede frederikpag Nybegynder
05. december 2005 - 08:24 #4
>>>bak: Ja, mine importer sker fra Concorde XAL... Er der da en smartere måde at gøre det på?
Avatar billede tobler Nybegynder
05. december 2005 - 08:56 #5
Du tilføjer bare efter den sidste sletteblok, endnu en sletteblok f.eks.
    If Cells(lngRow, "C").Value = "SÆLGER" Then
        Cells(lngRow, "C").EntireRow.Delete
    End If
Her har jeg rettet til at Sælger står i kolonne "C"
Avatar billede bak Forsker
05. december 2005 - 20:56 #6
Jeg ved ikke om det er smartere, men det er en lille addin, der gør det nemmere at importere mange af xal's tekstfiler/rapporter. Vi har haft meget glæde af den, men den løser sansyligvis ikke lige dit specifikke problem. den læser et lille stykke af tekstfilen ind og beder dig om at udpege overskrift, samt de linie-typer du ikke ønsker at importere, dvs at du får en fil ind, der ligner en database eller liste.
Send mig en mail, så skal jeg lige finde den til dig.

ps. er xal'en dos/unix eller windowsbasert?
Avatar billede bak Forsker
05. december 2005 - 20:57 #7
ups
excel snabela tbdl.dk
Avatar billede frederikpag Nybegynder
06. december 2005 - 14:13 #8
>>>bak, tusinde tak for det - der ligger en mail i din inbox.

>>>tobler, fantastisk arbejde, smider du lige et svar så du kan få dine points...
Avatar billede tobler Nybegynder
06. december 2005 - 14:27 #9
Her kommer et svar:-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester