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.
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
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.
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
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
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.