Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка run-time error '13' / 11 сообщений из 11, страница 1 из 1
01.02.2016, 23:20
    #39160603
glass44
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка run-time error '13'
При заполнении таблицы на 3-4 строке выскакивает вот это;
Вот полный код !

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
'читаем признак
Private Sub inic()
Dim k, z, priznak
Application.ScreenUpdating = False
Workbooks.Open Filename:=ThisWorkbook.path + "" + "конф.xls"
With Workbooks("конф.xls")
For k = 2 To .Worksheets("пользовательские").Range("A100").End(xlUp).Row
priznak = .Worksheets("пользовательские ").Cells(k, 1).Value
ComboBox4.AddItem priznak
Next k
End With
Workbooks("конф.xls").Close (False)
End Sub
Private Sub Frame2_Click()
End Sub
Private Sub UserForm_Initialize()
inic
End Sub

ФОРМИРОВАНИЕ КАТЕГОРИИ
Private Sub ComboBox4_Change() 'при выборе признака
ComboBox1.Clear
ComboBox2.Clear
Dim sh As Worksheet
Dim path, list, cat, k
Application.ScreenUpdating = False
Workbooks.Open Filename:=ThisWorkbook.path + "" + "конф.xls"
With Workbooks("конф.xls")
For k = 2 To .Worksheets("прайс-листы").Range("A1000").End(xlUp).Row
If .Worksheets("прайс-листы ").Cells(k, 12) = ComboBox4.Text Then
path = .Worksheets("прайс-листы ").Cells(k, 1).Value
list = .Worksheets("прайс-листы ").Cells(k, 2).Value
Set sh = GetObject(path).Sheets(list)
cat = .Worksheets("прайс-листы ").Cells(k, 3).Value
ComboBox1.AddItem sh.Range(cat).Value втягиваем категорию
sh.Parent.Close (False)
Else
End If
Next k
End With
Workbooks("конф.xls").Close (False)
'sh.Parent.Close (False)
End Sub



'ФОРМИРОВАНИЕ НАИМЕНОВАНИЯ
Private Sub ComboBox1_Change() 'при выборе категории
Dim sh As Worksheet
Dim path, list, cena, k, cat, mat, vid, ed, e, tol, procent
Application.ScreenUpdating = False
ListBox1.Clear
Workbooks.Open Filename:=ThisWorkbook.path + "" + "конф.xls"
With Workbooks("конф.xls")
For k = 2 To 100
If .Worksheets("прайс-листы ").Range("L" & k).Text = ComboBox4.Text Then
path = .Worksheets("прайс-листы ").Cells(k, 1).Value
list = .Worksheets("прайс-листы ").Cells(k, 2).Value
Set sh = GetObject(path).Sheets(list)
'формируем список наименование и цена
Dim n, g, c, cc, ccc
cat = .Worksheets("прайс-листы ").Cells(k, 3).Value
If ComboBox1.Value = sh.Range(cat).Value Then 'втягиваем категорию

g = Mid(.Worksheets("прайс-листы ").Cells(k, 4).Text, 2) 'берем из ячейки с началом списка диапазона только цифру
c = Mid(.Worksheets("прайс-листы ").Cells(k, 5).Text, 2) ' берем из ячейки с концом списка диапазона только цифру
cc = Left(.Worksheets("прайс-листы ").Cells(k, 4).Text, 1) ' берем из ячейки с началом списка диапазона только букву
ccc = Left(.Worksheets("прайс-листы ").Cells(k, 6).Text, 1) ' берем из ячейки с началом цены только букву

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



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

Модератор: Учимся использовать тэги оформления кода и спойлеры для больших простыней - FAQ
...
Рейтинг: 0 / 0
02.02.2016, 00:01
    #39160615
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка run-time error '13'
вероятно потому, что вы пытаетесь сложить число с текстом
...
Рейтинг: 0 / 0
02.02.2016, 00:04
    #39160617
glass44
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка run-time error '13'
Как исправить, подскажите!
...
Рейтинг: 0 / 0
02.02.2016, 00:11
    #39160618
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка run-time error '13'
Откуда ж я знаю, что вам нужно
Если конкатенация - преобразовывайте число в текст, если сложение - текст в число
...
Рейтинг: 0 / 0
02.02.2016, 00:18
    #39160622
glass44
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка run-time error '13'
Это в Екселе написана программка для создания спецификации корпусной мебели. При заполнении, я указываю в окне ввода материала, какой материал, из какой группы, наименование, количество. Две три строки заносит в общую таблицу, а потом выбрасывает ошибку 13 и все пропало.
...
Рейтинг: 0 / 0
02.02.2016, 00:48
    #39160636
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка run-time error '13'
glass44,
попробуйте так:
Код: vbnet
1.
2.
3.
aa = cdbl(replace(Новый расчет.ListView1.ListItems.Item(i).SubItems(8),".",",")) 'закупка
ss = cdbl(replace(Новый расчет.TextBox3.Value,".",",")) 'закупка
ss = ss + aa
...
Рейтинг: 0 / 0
02.02.2016, 14:46
    #39161108
glass44
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка run-time error '13'
теперь вылезла ошибка
Новый_расчет.ListView1.ListItems.Item(i).SubItems(7) = CDbl(ListBox1.list(ComboBox2.ListIndex, 1)) 'закупка
...
Рейтинг: 0 / 0
02.02.2016, 15:09
    #39161130
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка run-time error '13'
glass44,

Это ваша программа? Вы ее написали?
Или это чья-то программа, которую вы используете в коммерческих целях, которая сломалась и вы хотите, чтобы вам ее починили, при этом вы сами ни во что вникать не собираетесь?

Озвучьте свою позицию. Данный форум предполагает помощь программистам, а не выполнение работ по ремонту чужих программ.
...
Рейтинг: 0 / 0
02.02.2016, 15:18
    #39161137
glass44
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка run-time error '13'
Это не моя программа, скачал в свободном доступе здесь http://forum.sdelaimebel.ru/topic/3517-programma-dlya-rascheta-mebeli/. Пытался сам исправить, но не получается, не слишком силен в программировании. Программа очень нужна, поэтому обратился за помощью в форум. Извините, если отнял Ваше время!
С Уважением, Игорь!Shocker.Pro,
...
Рейтинг: 0 / 0
02.02.2016, 15:21
    #39161141
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка run-time error '13'
ТС, напишите в работу, там помогут
...
Рейтинг: 0 / 0
04.02.2016, 13:14
    #39162884
glass44
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка run-time error '13'
Большое спасибо всем!!! Разобрался с Вашей помощью!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка run-time error '13' / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]