Avatar billede c_skytte Nybegynder
09. oktober 2007 - 10:46 Der 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)?


/CS
Avatar billede supertekst Ekspert
10. oktober 2007 - 18:04 #1
Sp. 1 hvor kommer A3 ind i billedet?

Du er velkommen til at sende en kopi af filen til: pb@supertekst-it.dk - så er det måske lidt lettere at se, hvad du ønsker.
Avatar billede c_skytte Nybegynder
12. oktober 2007 - 10:25 #2
Ikke et øje er tørt!!!    :oP

Supertekst??  ..er du klar til dine point??  :o)

c_skytte
Avatar billede supertekst Ekspert
12. oktober 2007 - 11:07 #3
Her er koden:

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
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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