09. oktober 2007 - 10:46Der er
2 kommentarer og 1 løsning
Find største værdi i kolonne og brug i formel
Hej,
Dette stykke kode indsætter en ny linie ved dobbeltklik i cellen (benævnt "Ny linie" med Cellenavnet: "INDSAET"):
----------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) On Error Resume Next CelleNavn = Target.Name.Name
If Left(CelleNavn, 7) = "INDSAET" Then NyVal = ActiveCell.Offset(-1, 0).Value + 1 Selection.EntireRow.Insert Shift:=xlDown ActiveCell.FormulaR1C1 = NyVal ActiveCell.Range("B1").Select End If End Sub
----------
Da jeg gerne vil sortere Kolonne E og F (efter dato og status:Open) bliver rækkefølgen jo ændret i Kolonne A til fx:
A 100 115 103 150 123 118
Spørgsmål 1: Hvordan ændre jeg koden til at tage den største værdi fra A3 til ActiveCell?
Spørgsmål 2: Hvordan får jeg den til automatisk at sorterer efter kolonne E og F, efter jeg har tilføjet en ny linie (spm. 1)?
Dim antalRækker Private Sub CommandButton1_Click() IndSaetinie End Sub Private Sub Indsaet_Gruppe_Click() Indsaet_Ny_Gruppe End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim nyVal On Error Resume Next CelleNavn = Target.Name.Name
If Left(CelleNavn, 7) = "INDSAET" Then nyVal = findhøjesteTal Selection.EntireRow.Insert Shift:=xlDown ActiveCell.FormulaR1C1 = nyVal ActiveCell.Range("B1").Select
Sortering End If End Sub Public Sub Sortering() Rem beregn sidste række
antalRækker = beregnAntalrækker
Range("A2:I" + CStr(antalRækker)).Sort Key1:=Range("H3"), Order1:=xlAscending, Key2:=Range( _ "G3"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal End Sub Public Function beregnAntalrækker() beregnAntalrækker = Range("A65536").End(xlUp).Row End Function Public Function findhøjesteTal() Dim tal As Integer tal = 0 max = beregnAntalrækker
For ræk = 3 To max If Cells(ræk, 1) <> "" And IsNumeric(Cells(ræk, 1)) = True Then If Cells(ræk, 1) > tal Then tal = Cells(ræk, 1) End If End If Next ræk findhøjesteTal = tal + 1 End Function
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.