Avatar billede HHA Guru
09. februar 2022 - 13:44

Overføre markeret række

Hejsa,

Jeg har nedenstående formel, som kigger efter "Ja" i kolonne A og overfører de data der står i faneblad "Standardpriser".
I fanebladet "Standardpriser", kan jeg markere ja eller nej i kolonne A, som giver skifter kolonne N mellem 0 og 1.

Men det jeg søger er hvis nu jeg kun vil overføre en række eller 2, så istedet for at skulle vende celle A til "Ja", så ville det være nemmere at kunne markere en celle i den række man ønsker at overføre og klikke på makro knappen.
Hvad skal der tilføjes i nedenstående for at den kigger efter om der "Ja", så skal den bare overføre som hidtil, men hvis der ikke er nogen "Ja" i kolonne A, så skal den overføre den/de rækker jeg har markeret?

Er det noget der er til at programmere?

Sub Overfør_med_tekst()
'
' Makro5 Makro
'

'
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim LR1 As Long, LR2 As Long, LR3 As Long, LR4 As Long, i As Long
   
       
   
    Set ws1 = Sheets("Kalk")
    Set ws2 = Sheets("Standardpriser")
   
    LR3 = ws2.Range("N" & Rows.Count).End(xlUp).Row
   
    LR4 = WorksheetFunction.Sum(Range("N18:N" & LR3))
   
           
    If LR4 < 1 Then
        MsgBox "Du skal vælge en linje at overføre"
        Sheets("Standardpriser").Select
        Exit Sub
    End If
   
   
    Sheets("Kalk").Select ' vælger celle på kalk ark
    Range("D" & (ActiveCell.Row)).Select
   
   
    LR2 = ActiveCell.Row
    LR1 = ws2.Range("C" & Rows.Count).End(xlUp).Row
   
    If LR2 < 20 Then 'Sikrer at der ikke bliver overført data til en ulovlig række på kalk ark
        MsgBox "Fejl: Du prøver at indsætte værdier i en ulovlig række. Marker en lovlig række hvor du ønsker at indsætte standardprisen"
        Sheets("Kalk").Select
        Exit Sub
    End If
   
   
    ws1.Unprotect
    ws2.Unprotect
   
   
    Application.ScreenUpdating = False
   
       
     
    For i = 20 To LR1
       
        If ws2.Range("A" & i).Value = "Ja" Then
                   
         
           
           
            ws1.Cells((ActiveCell.Row), "D").Value = ws2.Cells(i, "C").Value
            ws1.Cells((ActiveCell.Row), "E").Value = ws2.Cells(i, "D").Value
            ws1.Cells((ActiveCell.Row), "F").Value = ws2.Cells(i, "E").Value * ws2.Cells(i, "B")
            ws1.Cells((ActiveCell.Row), "I").Value = ws2.Cells(i, "F").Value * ws2.Cells(i, "B")
            ws1.Cells((ActiveCell.Row), "J").Value = ws2.Cells(i, "G").Value * ws2.Cells(i, "B")
            ws1.Cells((ActiveCell.Row), "K").Value = ws2.Cells(i, "H").Value * ws2.Cells(i, "B")
            ws1.Cells((ActiveCell.Row), "L").Value = ws2.Cells(i, "I").Value * ws2.Cells(i, "B")
            ws1.Cells((ActiveCell.Row), "M").Value = ws2.Cells(i, "L").Value
            If ws2.Range("B" & i).Value > 1 Then ws1.Cells((ActiveCell.Row), "M").Value = "NEJ" ' Ændrer enhedspris til NEJ, hvis Celle B er større end 1
                                   
            ws2.Cells(i, "B").Value = 1
            Call Makro_indsæt_række
            ActiveCell.Offset(1).Select
        End If
       
           
    Next i
   
   
       
    ' GENLÅSNING AF ARK
   
    Application.ScreenUpdating = True
 
   
 
   
    Worksheets("Standardpriser").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingCells:=True
    EnableSelection = xlNoRestrictions
   
    Worksheets("Kalk").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingCells:=True
   
End Sub
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
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

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