24. marts 2003 - 21:56Der er
6 kommentarer og 2 løsninger
Slette mindste tal?
Jeg har følgende makro, der sletter det mindste tal i cellerne a1:a12 hvis der er 1-6 tal i rækken g 2 mindste hvis der er 7-12. Hvordan får jeg det til at gælde fra fx B6:L17. Hvis jeg bare indsætter det istedet for a1:a12 sletter den kun i de første 2 kolloner af gangen. Sidste spørgsmål, er om man ikke kan gøre noget, så man kan fortryde en makro med fortrydknappen?
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
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
Skal den slette de to mindste tal i hver kolonne, så prøv med dette
Sub SletMindste() Dim a As Byte Dim b As Double
a = 0 For Each cl In Worksheets("ark1").Range("b:l").Columns For Each c In Worksheets("ark1").Range("b6:b17").Cells If Not IsEmpty(c) Then a = a + 1 Next Set myrange = Worksheets("ark1").Range("b6:l17") 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 Next cl End Sub
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.