Keresés

Új hozzászólás Aktív témák

  • karlkani

    aktív tag

    válasz Delila_1 #29088 üzenetére

    "Összemixeltem" a két makrót, ez lett belőle.

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim sor As Long
    sor = Target.Row
    If Target.Column = 4 Or Target.Column = 8 And Target.Row > 1 Then
    Application.EnableEvents = False
    If IsNumeric(Cells(sor, "D")) And IsNumeric(Cells(sor, "H")) And Cells(sor, 4) <> "" And Cells(sor, 8) <> "" Then
    Cells(sor, "I") = (Cells(sor, "H") - Cells(sor, "D") * 8)
    Range(Target.Address).Select
    End If
    Application.EnableEvents = True
    End If
    Dim ertek As Double
    If Target.Column = 4 Or Target.Column = 8 Then 'D vagy H oszlop
    Range("I" & Target.Row).Select
    With Range("I" & Target.Row)
    On Error Resume Next
    .AddComment
    .Comment.Visible = True
    .Comment.Shape.Select True
    .Comment.Text Text:=ertek & " Ft/liter"
    .Comment.Shape.Select
    Selection.AutoSize = True
    End With
    If IsNumeric(Range("H" & Target.Row)) And _
    IsNumeric(Range("I" & Target.Row)) Then
    On Error Resume Next
    ertek = Round(Range("I" & Target.Row) / Range("D" & Target.Row), 1)
    Range("I" & Target.Row).Comment.Text Text:=ertek & " Ft/liter"
    Range("I" & Target.Row).Comment.Visible = False
    End If
    Else: Range("I5").Comment.Text Text:=" Ft/liter"
    End If
    Range(Target.Address).Select
    End Sub

    Kivettem a 0-t ("0 Ft/liter"), amúgy is egy tizedesjegyre kell kerekítenie, viszont mögé kellene még egy 0 (ha egész szám jön ki, akkor nem). De ha nem megoldható, akkor elég így is. Ezen kívül már csak azt kellene megoldani, ha a D és a H cella értékeket törlöm (mindkettőt), törölje az I értéket, valamint az oda mutató megjegyzést is. Meg gondolom szebben is meg lehet oldani, de én a makróhoz nagyon ***** vagyok... :DDD

  • karlkani

    aktív tag

    válasz Delila_1 #29088 üzenetére

    Nálam ez annyit csinál, hogy beírja az I oszlopba a H-D*8 értékét... ehhez nem kellene makró sem.
    Azt szeretném, ha a D és H mezőket kitöltöm, akkor az I-t töltse ki H-D*8 értékkel, majd ugyanoda megjegyzésbe írja be (automatikusan formázottba) az I és a D hányadosát két tizedesjegy pontossággal.

    Példa
    D = 10 liter
    H = 3370 Ft
    I=> H-D*8=3370-10*8=3290 Ft
    majd ide megjegyzésbe => I/D=3290/10=329,90 Ft/liter

Új hozzászólás Aktív témák