Just nu i M3-nätverket
Gå till innehåll
solbulle

Excel intersect ändra formel i cell beroende på annan cell

Rekommendera Poster

Nu sliter jag mitt hår....

 

Sannolikt superenkelt... för den som kan det. 🙂

 

Jag har en sub som fyller i en formel i en cell om man skriver ett värde i en annan, och vice versa.

Nu fungerar denna på en rad tycker jag....

Private Sub Worksheet_Change(ByVal target As Range)

    If Intersect(target, Range("L37:M37")) Is Nothing Or target.Value = "" Then Exit Sub
        Application.EnableEvents = False

         If Intersect(target, Range("M37")) Is Nothing Then
              ActiveSheet.Range("M37").FormulaR1C1 = "=IF(R[]C[-1]<>0,R[]C[-1]*R[]C[-5],"""")"

        Else
            ActiveSheet.Range("L37").FormulaR1C1 = "=IF(RC[1]<>0,RC[1]/RC[-4],0)"

        End If

    Application.EnableEvents = True

End Sub

Men jag vill att den ska fungera på raderna 30-37, rad för rad alltså.

 

Jag har försökt med ActiveCell.Row men får i till "nästlingen"

 

Något förslag?

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Inser att när jag försöker använda ActiveCell.Row innehåller den givetvis värdet på den rad jag hamnar på EFTER ändringen...

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Undvik ActiveSheet, ActiveWorkbook, ActiveWhatever.

I detta fall exempelvis använda Me istället för ActiveSheet och hela tiden se till att referera till celler, adresser via detta så man vet att det verkligen är det bladet som du refererar till.

Samt i den funktion du använder är det första man ska göra se till att gå ut ur koden om den inget ska göra. detta eftersom den körs vid precis varje ändring på bladet vilket kan ge oförutsedda effekter eller en mycket slö arbetsbok.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×