Avatar billede htmlaga Nybegynder
15. november 2002 - 22:50 Der er 9 kommentarer og
1 løsning

automatisk slet af rækker?

Hvordan kan jeg få excel til automatisk at slette en eller flere rækker, hvis en funktion opfyldes?

-aagaard
Avatar billede bak Forsker
16. november 2002 - 00:29 #1
Det koster nok en makro :-)
Står funktionen i den række der skal slettes ?
Avatar billede clsc Praktikant
18. november 2002 - 11:54 #2
det kan du ikke da det er to forskellige opgavetyper, som behandles forskelligt i excel. En funktion er en beregning på en eller flere celler, hvor resultatet vises i en eller flere celler - det er det eneste en funktion kan.

En sletning af en række er "formatering af et ark" og kan ikke udføres af en funktion (guiden "betinget formatering" undtaget, men den er nu også en mellemform)

Du kan dog (som bak siger herover) lave en makro, som kombinerer to ting, nemlig 1) undersøge resultatet af funktionen og 2) formatere arket.

Den type makroer lader sig ikke så nemt konstruere v.hj.a. den indbyggede makrooptager, man bliver nødt til også at skrive lidt makrokode selv. Skriv evt til bak for hjælp med makroen, jeg kan godt selv hjælpe dig, men bruger desværre ikke dette forum så ofte.

vh/claus
Avatar billede martin_moth Mester
18. november 2002 - 22:02 #3
Slet rækker med en macro - bare så du har lidt at gå videre med :o)

    Rows("6:7").ClearContents 'Sletter indholdet af alle celler i række 6-7
    Rows("9:12").Delete Shift:=xlUp 'Klipper cellerne i række 9-12 ud, og rykker nedenstående rækker op
Avatar billede htmlaga Nybegynder
16. februar 2003 - 14:02 #4
ja der er jo gået stykke tid siden sidst.

bak>> nej funktionen står ikke i den række der skal slettes, men i et andet ark.

Jeg skal nok understrege, at det ikke er indholdet af rækkens celler der skal slettes, men selve rækken der skal slettes hvorefter de nedenstående række skal rykkes opad.

Med venlig hilsen
Rasmus Aagaard
Avatar billede martin_moth Mester
16. februar 2003 - 15:48 #5
Se min kommentar ovenfor - den gør det du ønsker
Avatar billede htmlaga Nybegynder
18. februar 2003 - 14:21 #6
Ja, det er vist det du skriver i din kommentar jeg ønsker.

Men hvordan får jeg så makroen til først at teste om en formel er sand, for derefter at enten slette eller lade være.

OBS: det er det sidste af dine to eksempler jeg skal brug.
Avatar billede martin_moth Mester
18. februar 2003 - 14:35 #7
" teste om en formel er sand" ?

Kom med et eksempel - hvornår skal den slette rækker, og hvornår ikke?

Men ellers tjekker du på værdien af en ønsket celle, og hvis den er noget bestemt sletter du rækker:

If Cells(6, 2).Value = "Slet denne række" Then '(tjek af indhold af cellen B6)
'Kode til at slette rækken
Else
  MsgBox "Rækken blev ikke slettet, da cellen ikke indeholdt 'Slet denne række'"
End If
Avatar billede martin_moth Mester
18. februar 2003 - 14:39 #8
Mere udførligt:

Dim RækkeNummer as Integer
Dim Kolonnenummer as Integer

Rækkenummer = 6 'Eller hvad den nu skal være
Kolonnenummer = 1 'Eller hvad den nu skal være

If Cells(RækkeNummer, KolonneNummer).Value = "Slet denne række" Then
  Rows("RækkeNummer:RækkeNummer").Delete Shift:=xlUp
Else
  MsgBox "Rækken blev ikke slettet, da cellen ikke indeholdt 'Slet denne række'"
End If

Du kan så ændre RækkeNummer, Kolonnenummer og den værdi der skal tjekkes om er opfyldt. Desuden kan du droppe den msgbox, så der ingenting sker, hvis værdien i den celle der kontrolleres ikke betyder, at der skal slettes noget:

If Cells(RækkeNummer, KolonneNummer).Value = "Slet denne række" Then
  Rows("RækkeNummer:RækkeNummer").Delete Shift:=xlUp
End If
Avatar billede htmlaga Nybegynder
18. februar 2003 - 14:56 #9
Det var lige den løsning jeg ledte efter.

Takker
Avatar billede martin_moth Mester
18. februar 2003 - 15:06 #10
Anytime :o)
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