Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Visual Basic
Перезагрузить страницу Ошибка Run-time error '13'
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
glass44 glass44 вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.02.2016
По умолчанию Ошибка Run-time error '13' - 02.02.2016, 00:16

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


'читаем признак

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


Не могу разобраться, ПОМОГИТЕ ПЛЗ!!! Очень надо!
Ответить с цитированием
  (#2 (permalink)) Старый
pashulka pashulka вне форума
Member
 
Сообщений: 1,872
Сказал(а) спасибо: 2
Поблагодарили 57 раз(а) в 53 сообщениях
Регистрация: 11.03.2005
По умолчанию 03.02.2016, 20:48

VB Код:
Dim aa As String, ss As String, res As Double

aa = ListView1.ListItems(i).SubItems(8)
ss = TextBox3.Value
res = Val(aa) + Val(Replace(ss, ",", "."))
Ответить с цитированием
Пользователь сказал cпасибо:
glass44 (04.02.2016)
  (#3 (permalink)) Старый
glass44 glass44 вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.02.2016
По умолчанию 04.02.2016, 14:11

Цитата:
Сообщение от pashulka Посмотреть сообщение
VB Код:
Dim aa As String, ss As String, res As Double

aa = ListView1.ListItems(i).SubItems(8)
ss = TextBox3.Value
res = Val(aa) + Val(Replace(ss, ",", "."))
Спасибо, попробую.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ноутбук леново б590 при включении: real time clock error check date and time sett slavaboyko Ремонт ноутбуков 4 13.01.2016 16:43
ошибка fatal error AWW Любые вопросы от новичков 1 02.10.2014 15:20
error FTK1011 что за ошибка? sky-vamp OpenGL 1 25.06.2011 00:50
Ошибка type error Nirvana Prolog 8 23.05.2011 08:17
Как исправить run-time error '1004' application-defined or object-defined error MrRikCastle Visual Basic 0 22.04.2011 10:43
Run-time error '1004': Application-defined or object-defined error imported_malor Visual Basic 1 17.01.2010 18:29
При линковании программы появляется ошибка Error 7 error LNK2001 NaN Visual C++ 6 06.01.2010 13:28
Не запускается DVD to mpeg convertor, ошибка: Visual Studio just in time debugger. HDD Любые вопросы от новичков 7 17.02.2009 19:19
Ошибка при запуске microsoft word: "Run-time errjor 429. ActineX component cant't... Астроном Любые вопросы от новичков 6 13.10.2008 18:49
Run time error как исправить ошибку Pabloz Visual Basic 3 27.08.2008 20:52
При попытки вызова функции из библиотеки выскакивает ошибка: "Run-Time Check Failure FreeZ Visual C++ 9 22.11.2006 12:30
Ошибка I/O error 32 с чем она связана Mew Delphi 1 11.01.2005 17:02



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов