22. marts 2003 - 19:20
Der er
4 kommentarer og
1 løsning
Makro til at slette mindste tal i Excel
Jeg kan ikke finde ud af at programmere macroer selv, men jeg mangler en makro der kan slette de 2 mindste talværdier hvis der er 12 tal i tabellen og slette den ene mindste værdi hvis der kun er 6 værdier i alt...
Hvordan laves dette?
23. marts 2003 - 11:46
#3
Denne funktion er måske ikke så elegant, men jeg tror at den løser dit problem. Den forudsætter at du har 12 celler, hvoraf 6 kan være tomme. Hvis 6 er udfyldt slettes indeholdet af den mindste celle, hvis 12 er udfyldt slettes indholdet af de to mindste celler.
Sub SletMindste()
'Jkrons 03-2003
Dim a As Byte
Dim b As Double
a = 0
For Each c In Worksheets("ark1").Range("a1:a12").Cells
If Not IsEmpty(c) Then a = a + 1
Next
Set myrange = Worksheets("ark1").Range("A1:a12")
If a > 6 Then
b = Application.WorksheetFunction.Small(myrange, 1)
c = Application.WorksheetFunction.Small(myrange, 2)
Cells.Find(What:=b, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Select
Selection.ClearContents
Cells.Find(What:=c, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Select
Selection.ClearContents
Else
b = Application.WorksheetFunction.Small(myrange, 1)
Cells.Find(What:=b, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Select
Selection.ClearContents
End If
End Sub