Εμφάνιση ενός μόνο μηνύματος
  #7  
Παλιά 25-03-11, 07:28
devcon Ο χρήστης devcon δεν είναι συνδεδεμένος
Όνομα: Θανάσης
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-02-2010
Μηνύματα: 62
Προεπιλογή

Τάσο καλημέρα,

Σου ζητώ συγνώμη για τα προβλήματά μου και ελπίζω στην κατανόηση σου.

‘Έχεις απόλυτο δίκιο αλλά στο πραγματικότητα είναι πολλές φορές που ο πελάτης προσπαθεί με τον ένα ή τον άλλο τρόπο να σου ζητήσει να κατεβάσεις κάποιες τιμές για να πάρεις την παραγγελία. Έτσι είμαι υποχρεωμένος να αλλάξω χειροκίνητα κάποιες τιμές από την προσφορά που του έκανα.
Η θεωρία σου για την εισαγωγή μιας επιπλέον στήλης είναι πολύ καλή και θα μου έλυνε το πρόβλημα. Επίσης έχεις την δυνατότητα με μια ματιά να βλέπεις τις αλλαγές τις οποίες έκανες. Εάν και αυτό θα μου δημιουργήσει κάποιες άλλες αλλαγές στην εισαγωγή των δεδομένων στην Access, αλλά αυτό λύνεται, δεν νομίζω ότι είναι δύσκολο.

Τώρα ως προς την φόρμουλα
=IF(J10<>"";J10;IFERROR(ROUND(L10*(1+Owners%);2); ""))
δεν την δέχεται δίνει Error είτε στο λογισμικό φύλλο ή στην VBA.

Μήπως υπάρχει κάποιο λάθος στην φόρμουλα;
Σε ευχαριστώ για την κατανόησή σου.

Θανάσης

Κώδικας:
Sub Offer()

    Dim FirstRow As Long, FinalRow As Long, CalcRows As Long
    FirstRow = ActiveCell.row
    FinalRow = Cells(Rows.Count, 2).End(xlUp).row
    CalcRows = FinalRow - FirstRow + 1
    
    'Create Names
    
    ActiveWorkbook.Names.Add Name:="Owners", RefersToR1C1:= _
        "='Request For Quotations'!R2C15"
    ActiveWorkbook.Names("Owners").Comment = ""
    'Range("P2").Select
    ActiveWorkbook.Names.Add Name:="Supplier", RefersToR1C1:= _
        "='Request For Quotations'!R2C16"
    ActiveWorkbook.Names("Supplier").Comment = ""

    
    ' Message Box
Range("O2") = Application.InputBox("Owners")
'Range("O2").Select
    Range("P2") = Application.InputBox("Supplier")
'Range("P2").Select
    
    If Not IsNumeric(Range("O2")) Or IsEmpty(Range("Owners")) _
       Or Not IsNumeric(Range("P2")) Or IsEmpty(Range("Supplier")) Then
        ' Code will exit. Show some message...
        Exit Sub
    End If
    If CalcRows < 1 Then
        'Can not be a valid Range... Show some message...
    End If

    Application.ScreenUpdating = False
    ' Cost Net
    With Range("L" & FirstRow & ":L" & FinalRow)
        .FormulaR1C1 = "=IF(RC[-1]<>"""",ROUND(RC[-1]*(1-Supplier%),2),"""")"
       ' .Value = .Value    'Convert Formulas to Values
    End With
    '   Unit Price

    With Range("I" & FirstRow & ":I" & FinalRow)
         .FormulaR1C1 = "=IF(J3<>"";J3;IFERROR(ROUND(L3*(1+Owners%);2); """"))"
         .Value = .Value
    End With

    ' Total Cost
    With Range("M" & FirstRow & ":M" & FinalRow)
        .FormulaR1C1 = "=IF(RC[-1]<>"""",RC[-4]*RC[-1],"""")"
       ' .Value = .Value
    End With

    ' Total Sales
    With Range("N" & FirstRow & ":N" & FinalRow)
        .FormulaR1C1 = "=IF(RC[-4]<>"""",RC[-5]*RC[-4],"""")"
       ' .Value = .Value
    End With

    ' Enter the Total Row
    FirstRow = FinalRow - 2

    Range("L3").Copy
    With Range("L" & FinalRow + 1).Resize(4, 3)
        .PasteSpecial xlPasteFormats
        Application.CutCopyMode = False
        .Font.Bold = True
        .Font.Italic = True
        With .Resize(1, 3)

' Sum from selected Row________________________________

            '.Item(1).Value = "Total"
            '.Item(2).FormulaR1C1 = "=SUM(R[-" & CalcRows & "]C:R[-1]C)"
            '.Item(3).Formula = "=SUM(R[-" & CalcRows & "]C:R[-1]C)"
            '.Font.ColorIndex = xlAutomatic
            'With .Offset(1).Resize(3, 3)
             '   .Item(1).Value = "Profit"
             '   .Item(3).FormulaR1C1 = "=SUM(R[-" & CalcRows + 1 & "]C:R[-2]C)- SUM(R[-" & CalcRows + 1 & _
                                       "]C[-1]:R[-2]C[-1])"
             '   .Item(4).Value = "P/C"
             '   .Item(6).FormulaR1C1 = "=(SUM(R[-" & CalcRows + 2 & "]C:R[-3]C)- SUM(R[-" & CalcRows + 2 & _
                                       "]C[-1]:R[-3]C[-1]))/(SUM(R[-" & CalcRows + 2 & "]C[-1]:R[-3]C[-1]))"
             '   .Item(6).NumberFormat = "0.00%"
             '   .Item(7).Value = "P/S"
             '   .Item(9).FormulaR1C1 = "=(SUM(R[-" & CalcRows + 3 & "]C:R[-4]C)- SUM(R[-" & CalcRows + 3 & _
                                       "]C[-1]:R[-4]C[-1]))/(SUM(R[-" & CalcRows + 3 & "]C:R[-4]C))"
             '   .Item(9).NumberFormat = "0.00%"
             '   .Font.ColorIndex = 41&
            'End With
           
           ' Sum from the first Row__________________________________________

            .Item(1).Value = "Total"
            .Item(2).FormulaR1C1 = "=SUM(R[-" & FirstRow & "]C:R[-1]C)"
            .Item(3).Formula = "=SUM(R[-" & FirstRow & "]C:R[-1]C)"
            .Font.ColorIndex = xlAutomatic
            With .Offset(1).Resize(3, 3)
                .Item(1).Value = "Profit"
                .Item(3).FormulaR1C1 = "=SUM(R[-" & FirstRow + 1 & "]C:R[-2]C)- SUM(R[-" & FirstRow + 1 & _
                                       "]C[-1]:R[-2]C[-1])"
                .Item(4).Value = "P/C"
                .Item(6).FormulaR1C1 = "=(SUM(R[-" & FirstRow + 2 & "]C:R[-3]C)- SUM(R[-" & FirstRow + 2 & _
                                       "]C[-1]:R[-3]C[-1]))/(SUM(R[-" & FirstRow + 2 & "]C[-1]:R[-3]C[-1]))"
                .Item(6).NumberFormat = "0.00%"
                .Item(7).Value = "P/S"
                .Item(9).FormulaR1C1 = "=(SUM(R[-" & FirstRow + 3 & "]C:R[-4]C)- SUM(R[-" & FirstRow + 3 & _
                                       "]C[-1]:R[-4]C[-1]))/(SUM(R[-" & FirstRow + 3 & "]C:R[-4]C))"
                .Item(9).NumberFormat = "0.00%"
                .Font.ColorIndex = 41&
            End With
        '    .Value = .Value 'Convert Formulas to Values

        End With
    End With
    Application.ScreenUpdating = True
End Sub
Απάντηση με παράθεση