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