Анализ эффективности вложений денежных средств в РКО
Информация - Менеджмент
Другие материалы по предмету Менеджмент
s(m + 1; 3) = "Дт" + S904
If Cells(m; 3) < 0 Then Cells(m + 1; 3) = "Кт" + S904
If Cells(m; 4) > 0 Then Cells(m + 1; 4) = "Кт" + S960
If Cells(m; 4) < 0 Then Cells(m + 1; 4) = "Дт" + S970
Cells(m + 1; 6) = "Дт" + S970
Range(Cells(m + 1; 2); Cells(m + 2; 6)).HorizontalAlignment = xlCenter
Range(Cells(m + 1; 1); Cells(m + 1; 6)).Interior.ColorIndex = 15
Cells(m + 2; 6) = "Кт" + S904
Cells(m + 2; 6).Interior.ColorIndex = 15
Range(Cells(7; 1); Cells(m - 1; 6)).Borders(xlRight).Weight = xlThin
Range(Cells(m; 1); Cells(m; 6)).Borders(xlRight).LineStyle = xlDouble
Range(Cells(m; 1); Cells(m; 6)).Borders(xlLeft).LineStyle = xlDouble
Range(Cells(m; 1); Cells(m; 6)).Borders(xlTop).LineStyle = xlDouble
Range(Cells(m; 1); Cells(m; 6)).Borders(xlBottom).LineStyle = xlDouble
Cells(m + 2; 4) = "Подпись ответственного"
Cells(m + 3; 4) = "сотрудника"
Range(Cells(m + 2; 4); Cells(m + 3; 4)).Font.Size = 8
Range(Cells(m + 2; 4); Cells(m + 3; 4)).HorizontalAlignment = xlLeft
Range(Cells(7; 1); Cells(m + 4; 6)).BorderAround Weight:=xlMedium
Range(Cells(m + 2; 3); Cells(m + 4; 3)).Borders(xlRight).Weight = xlThin
Range(Cells(m + 1; 1); Cells(m + 1; 5)).Borders(xlBottom).Weight = xlThin
Cells(m + 2; 6).Borders(xlLeft).Weight = xlThin
Cells(m + 2; 6).Borders(xlBottom).Weight = xlThin
If DialogPrint("ЖурналОборотов"; 1) Then Exit Sub
печать мемориального ордера
Dim StrS As String
With DialogSheets("ДиалогОперация")
.Show
If .OptionButtons(1).Value = xlOn Then StrS = "Покупка"
If .OptionButtons(2).Value = xlOn Then StrS = "Продажа"
If .OptionButtons(3).Value = xlOn Then StrS = "Погашение"
If .OptionButtons(4).Value = xlOn Then StrS = "Покупка / Продажа"
If .OptionButtons(5).Value = xlOn Then StrS = "Покупка / Погашение"
End With
Worksheets("Ордер").Select
i = CInt(InputBox("Введите номер 1-го ордера"))
If Mag(1) > 0 Then
If Mag(2) < 0 Then
If MemoOrder(i; min(Mag(1); Mag(2)); S192; S904; 0; _
StrS + " РКО за " + CStr(CurDate)) Then Exit Sub
i = i + 1
End If
If Mag(3) > 0 Then
If MemoOrder(i; min(Mag(1); Mag(3)); S192; S960; 0; _
"Доход от продажи РКО за " + CStr(CurDate)) Then Exit Sub
i = i + 1
End If
End If
If Mag(2) > 0 Then
If Mag(1) < 0 Then
If MemoOrder(i; min(Mag(2); Mag(1)); S904; S192; 0; _
StrS + " РКО за " + CStr(CurDate)) Then Exit Sub
i = i + 1
End If
If Mag(3) > 0 Then
If MemoOrder(i; min(Mag(2); Mag(3)); S904; S960; 0; _
"Доход от продажи РКО за " + CStr(CurDate)) Then Exit Sub
i = i + 1
End If
End If
If Mag(3) < 0 Then
If Mag(1) < 0 Then
If MemoOrder(i; min(Mag(3); Mag(1)); SR970; S192; 0; _
"Отрицательная разница от продажи РКО за " + CStr(CurDate)) Then Exit Sub
i = i + 1
End If
If Mag(2) < 0 Then
If MemoOrder(i; min(Mag(3); Mag(2)); SR970; S904; 0; _
"Отрицательная разница от продажи РКО за " + CStr(CurDate)) Then Exit Sub
i = i + 1
End If
End If
If Format(Mag(4)) > 0 Then
If MemoOrder(i; Mag(4); S970; S904; 0; _
"Комиссия ВКБ в т.ч. НДС " + CStr(Format(Mag(4) / 6; "0,00"))) Then Exit Sub
End If
End Sub
-------------------------------------------- Memo Order
Function MemoOrder(Num; sum As Double; n1; n2; Pos As Integer; Order As String)
Dim i As Integer
Dim Flag As Boolean
Dim Str; Str1 As String
Str1 = ""
Str = CStr(sum)
Str = Format(Str; "000000000000,00")
Flag = False
For i = 1 To Len(Str)
If Mid(Str; i; 1) = "," Then
If CInt(Right(Str; 2)) = 0 Then
Str1 = Str1 + "="
Exit For
Else
Str1 = Str1 + "-"
End If
Else
If Mid(Str; i; 1) <> "0" Then Flag = True
If Mid(Str; i; 1) <> "0" Or Flag Then Str1 = Str1 + Mid(Str; i; 1)
End If
Next i
Cells(3; 6) = Str1
If Pos > 0 Then
If n1 > 6 Then
Cells(5; 6) = Worksheets("Клиенты").Cells(2; n1)
Else
Cells(5; 6) = Worksheets("Клиенты").Cells(Pos; n1)
End If
If n2 > 6 Then
Cells(10; 6) = Worksheets("Клиенты").Cells(2; n2)
Else
Cells(10; 6) = Worksheets("Клиенты").Cells(Pos; n2)
End If
Else
Cells(5; 6) = n1
Cells(10; 6) = n2
End If
Cells(16; 1) = Order
Cells(1; 6) = Num
Range("A1:H24").Copy
Range("A32").Select
ActiveSheet.Paste
If DialogPrint("Ордер"; 2) Then
MemoOrder = True
Else
MemoOrder = False
End If
End Function
-------------------------------- Печать биржевой информации -------
Sub PrintBirgaInfo()
Dim Sheet As Object
Dim Flag As Boolean
Dim i; n; k; Num As Long
Dim mas(3) As Double
Set Sheet = Worksheets("Биржа")
CurDate = Worksheets("Врем").Cells(1; 4)
Sheets("Биржевая Информация").Select
Cells(3; 10) = CurDate
For i = 1 To 3
mas(i) = 0
Next i
i = 2
n = 7
Range(Cells(n; 1); Cells(n + 100; 17)).Delete shift:=xlToLeft
Flag = True
Empty"> Do While Sheet.Cells(i; 1) <> Empty
If Sheet.Cells(i; 1) = CurDate Then
Flag = False
Cells(n; 1) = Sheet.Cells(i; 2)
Cells(n; 7) = Sheet.Cells(i; 3)
Cells(n; 9) = Sheet.Cells(i; 4)
Cells(n; 10) = Sheet.Cells(i; 5)
Cells(n; 5).Font.Bold = True
Cells(n; 11) = Sheet.Cells(i; 6)
Cells(n; 11).Font.Bold = True
Cells(n; 12) = Sheet.Cells(i; 7)
Cells(n; 13) = Sheet.Cells(i; 8)
k = 2
While Worksheets("Бумаги").Cells(k; 1) <> Empty
If Worksheets("Бумаги").Cells(k; 1) = Cells(n; 1) Then
Cells(n; 2) = Worksheets("Бумаги").Cells(k; 2)
Cells(n; 3) = Worksheets("Бумаги").Cells(k; 3)
Cells(n; 6) = Worksheets("Бумаги").Cells(k; 4)
End If
k = k + 1
Wend
Cells(n; 2).NumberFormat = "ДД.ММ.ГГ"
Cells(n; 3).NumberFormat = "ДД.ММ.ГГ"
Cells(n; 6).NumberFormat = "# ##0"
Cells(n; 9).NumberFormat = "# ##0"
Range(Cells(n; 10); Cells(n; 17)).NumberFormat = "0,00"
Cells(n; 4) = Cells(3; 10) - Cells(n; 2)
Cells(n; 5) = Cells(n; 3) - Cells(3; 10)
Cells(n; 8) = Cells(n; 9) / Cells(n; 6) * 100
Cells(n; 8).NumberFormat = "0,00"
If Cells(n; 7) 0 Then
Cells(n; 14) = (100 / Cells(n; 10) - 1) * 36500 / Cells(n; 5) * 0,85
Cells(n; 15) = (100 / Cells(n; 10) - 1) * 36500 / Cells(n; 5)
Cells(n; 16) = (100 / Cells(n; 11) - 1) * 36500 / Cells(n; 5) * 0,85
Cells(n; 16).Font.Bold = True
Cells(n; 17) = (100 / Cells(n; 11) - 1) * 36500 / Cells(n; 5)
mas(1) = mas(1) + Cells(n; 5) * Cells(n; 9) * Cells(n; 14)
mas(2) = mas(2) + Cells(n; 5) * Cells(n; 9) * Cells(n; 16)
mas(3) = mas(3) + Cells(n; 5) * Cells(n; 9)
End If
n = n + 1
End If
i = i + 1
Loop
If Flag Then
MsgBox "Биржевой информации нет"
Exit Sub
End If
Num = n
Range(Cells(7; 1); Cells(Num - 1; 17)).Borders(xlLeft).Weight = xlThin
Range(Cells(7; 1); Cells(Num - 1; 17)).Borders(xlRight).Weight = xlThin
Range(Cells(7; 1); Cells(Num - 1; 17)).Borders(xlTop).Weight = xlThin
Range(Cells(7; 1); Cells(Num - 1; 17)).Borders(xlBottom).Weight = xlThin
Range(Cells(7; 1); Cells(Num - 1; 17)).BorderAround Weight:=xlMedium
Cells(Num; 1) = "Итого"
Cells(Num; 1).Font.Bold = True
Cells(Num; 1).HorizontalAlignment = xlCenter
Cells(Num; 14) = mas(1) / mas(3)
Cells(Num; 15) = mas(1) / mas(3) / 0,85
Cells(Num; 16) = mas(2) / mas(3)
Cells(Num; 16).Font.Bold =