powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка run-time error '13'
11 сообщений из 11, страница 1 из 1
Ошибка run-time error '13'
    #39160603
glass44
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При заполнении таблицы на 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
Ошибка run-time error '13'
    #39160615
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вероятно потому, что вы пытаетесь сложить число с текстом
...
Рейтинг: 0 / 0
Ошибка run-time error '13'
    #39160617
glass44
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как исправить, подскажите!
...
Рейтинг: 0 / 0
Ошибка run-time error '13'
    #39160618
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Откуда ж я знаю, что вам нужно
Если конкатенация - преобразовывайте число в текст, если сложение - текст в число
...
Рейтинг: 0 / 0
Ошибка run-time error '13'
    #39160622
glass44
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это в Екселе написана программка для создания спецификации корпусной мебели. При заполнении, я указываю в окне ввода материала, какой материал, из какой группы, наименование, количество. Две три строки заносит в общую таблицу, а потом выбрасывает ошибку 13 и все пропало.
...
Рейтинг: 0 / 0
Ошибка run-time error '13'
    #39160636
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glass44,
попробуйте так:
Код: vbnet
1.
2.
3.
aa = cdbl(replace(Новый расчет.ListView1.ListItems.Item(i).SubItems(8),".",",")) 'закупка
ss = cdbl(replace(Новый расчет.TextBox3.Value,".",",")) 'закупка
ss = ss + aa
...
Рейтинг: 0 / 0
Ошибка run-time error '13'
    #39161108
glass44
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
теперь вылезла ошибка
Новый_расчет.ListView1.ListItems.Item(i).SubItems(7) = CDbl(ListBox1.list(ComboBox2.ListIndex, 1)) 'закупка
...
Рейтинг: 0 / 0
Ошибка run-time error '13'
    #39161130
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glass44,

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

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


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