Ошибка run-time error '13'

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
glass4
Сообщения: 1
Зарегистрирован: 01 фев 2016, 23:21

01 фев 2016, 23:32

При заполнении таблицы на 3-4 строке выскакивает вот это;

ed = .Worksheets("прайс-листы ").Cells(k, 8).Text
mat = .Worksheets("прайс-листы ").Cells(k, 9).Text
tol = .Worksheets("прайс-листы ").Cells(k, 10).Text
vid = .Worksheets("прайс-листы ").Cells(k, 11).Text
procent = .Worksheets("прайс-листы ").Cells(k, 13).Text
valu = .Worksheets("прайс-листы ").Cells(k, 14).Text
'ставим значение в листбокс
For n = g To c
a = sh.Cells(n, cc).Text
ListBox1.AddItem a 'наименования
ComboBox2.list = ListBox1.list 'наименования
'цены и остальные пункты
Me.ListBox1.list(Me.ListBox1.ListCount - 1, 1) = sh.Cells(n, ccc).Text 'цена
Me.ListBox1.list(Me.ListBox1.ListCount - 1, 2) = ed
Me.ListBox1.list(Me.ListBox1.ListCount - 1, 3) = mat
Me.ListBox1.list(Me.ListBox1.ListCount - 1, 4) = tol
Me.ListBox1.list(Me.ListBox1.ListCount - 1, 5) = vid
Me.ListBox1.list(Me.ListBox1.ListCount - 1, 6) = procent
Me.ListBox1.list(Me.ListBox1.ListCount - 1, 7) = valu
Me.ListBox1.list(Me.ListBox1.ListCount - 1, 8) = ComboBox4.Text
Next n
End If
sh.Parent.Close (False)
End If
Next k
End With
Workbooks("конф.xls").Close (False)
'sh.Parent.Close (False)
End Sub

'ВСТАВКА ЗНАЧЕНИЙ
Private Sub ComboBox2_Change() ' при выборе наименование
If ComboBox2.Value = "" Then 'если комбо очистили то идем на иник
Else
'*********ИНАЧЕ ВСТАВЛЯЕМ ЗНАЧЕНИЕ***************
inic2:
Dim koli As Variant
koli = Application.InputBox("ВВЕДИТЕ КОЛИЧЕСТВО!", "НОВЫЙ РАСЧЕТ")
If koli = False Then Exit Sub 'если нажать Cancel
If koli <> "" Then 'если ни чего не ввели

If IsNumeric(koli) Then 'если ввели цифру

Новый расчет.ListView1.ListItems.Add , , "" 'вынесли вверх чтобы не было пустой строки
For i = 1 To Новый расчет.ListView1.ListItems.Count
If Новый расчет.ListView1.ListItems.Item(i) <> "" Then
Else

Новый расчет.ListView1.ListItems.Item(i) = ComboBox1.Value 'категория
Новый расчет.ListView1.ListItems.Item(i).SubItems(1) = ComboBox2.Value 'наименование
Новый расчет.ListView1.ListItems.Item(i).SubItems(2) = ListBox1.list(ListIndex, 3) 'материал

Новый расчет.ListView1.ListItems.Item(i).SubItems(3) = ListBox1.list(ListIndex, 4) 'толщина
Новый расчет.ListView1.ListItems.Item(i).SubItems(4) = ListBox1.list(ListIndex, 5) 'вид
Новый расчет.ListView1.ListItems.Item(i).SubItems(6) = ListBox1.list(ListIndex, 2) 'ед
Новый расчет.ListView1.ListItems.Item(i).SubItems(7) = CDbl(ListBox1.list(ComboBox2.ListIndex, 1)) 'закупка
Новый расчет.ListView1.ListItems.Item(i).SubItems(9) = ListBox1.list(ListIndex, 6) 'процент

Новый расчет.ListView1.ListItems.Item(i).SubItems(5) = koli 'кол-во
Новый расчет.ListView1.ListItems.Item(i).SubItems(8) = koli * Новый расчет.ListView1.ListItems.Item(i).SubItems(7) 'цена

p = Íîâûé_ðàñ÷åò.ListView1.ListItems.Item(i).SubItems(9) / 100 + 1
Новый расчет.ListView1.ListItems.Item(i).SubItems(10) = p * Новый расчет.ListView1.ListItems.Item(i).SubItems(8)
Новый расчет.ListView1.ListItems.Item(i).SubItems(11) = Новый расчет.ListView1.ListItems.Item(i).SubItems(10) - Новый расчет.ListView1.ListItems.Item(i).SubItems(8)
Новый расчет.ListView1.ListItems.Item(i).SubItems(12) = ComboBox4.Text

'общая стоимость
Dim a As Currency
a = Новый расчет.ListView1.ListItems.Item(i).SubItems(10)
OldStr = Новый расчет.TextBox1.Value
NewStr = Replace(OldStr, ".", ",") 'меняем точку из текстбокса на запятую для вычисления
s = NewStr
s = s + a
Новый расчет.TextBox1.Value = s
Новый расчет.TextBox28.Value = s
Новый расчет.TextBox34.Value = s
'краткий отчет
Новый расчет.TextBox4.Value = s 'общая сумма
Новый расчет.TextBox2.Value = i 'всего строк
Dim aa As Currency
aa = Новый расчет.ListView1.ListItems.Item(i).SubItems(8) 'закупка
ss = Новый расчет.TextBox3.Value 'закупка
ss = ss + aa (ОШИБКА)
Новый расчет.TextBox3.Value = ss
Новый расчет.TextBox5.Value = s - ss

End If
Next i
Else 'это для ошибки ввода koli
MsgBox "Вы ни чего не ввели, или ввели букву!", vbExclamation, ""
GoTo inic2
End If
Else
MsgBox " Вы ни чего не ввели, или ввели букву!", vbExclamation, ""
GoTo inic2
End If
'**********************ЧИСТИМ ЗА СОБОЙ И ИДЕМ НА ИНИК
ListBox1.Clear
ComboBox2.Clear
ComboBox1.Clear
ComboBox4.Clear
inic
End If
End Sub
Private Sub CommandButton1_Click()
Unload компоненты
End Sub

Не могу разобраться, ПОМОГИТЕ ПЛЗ!!! Очень надо!
Ответить