|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.11.2009, 16:26 | #11 |
Пользователь
Регистрация: 26.10.2009
Сообщений: 13
|
не работает...
|
05.11.2009, 13:25 | #12 |
Пользователь
Регистрация: 26.10.2009
Сообщений: 13
|
Друзья, помогите пожалуйста с этим кодом в нём ошибка!сегодня надо дать какой-то ответ, а то останусь без работы, придётся расстасться с машиной
мечты и коллекторы сразу возьмут меня.очень надеюсь на вас. |
05.11.2009, 13:30 | #13 | ||||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
Цитата:
Неужели сложно описать в подробностях, что именно не работает (и как должно работать)? Цитата:
А если останетесь на этой работе, все задачи будете решать с помощью форума? Цитата:
|
||||
05.11.2009, 13:59 | #14 | |
Пользователь
Регистрация: 26.10.2009
Сообщений: 13
|
Описаник ошибки:
Ошибка 13 type mismath Public Sub zapsuk() Dim i As Integer, j As Integer, k As Integer, j1 As Integer, j2 As Integer Dim sm As Double Dim st As String Dim sh1 As Worksheet, sh2 As Worksheet, sh3 As Worksheet Set sh1 = ThisWorkbook.Worksheets("Лист1") Set sh2 = ThisWorkbook.Worksheets("Лист2") Set sh3 = ThisWorkbook.Worksheets("Лист3") j = sh1.Cells(Rows.Count, "A").End(xlUp).Row j1 = sh2.Cells(Rows.Count, "A").End(xlUp).Row j2 = sh3.Cells(Rows.Count, "A").End(xlUp).Row For i = 1 To j st = Trim(Str(sh1.Range("a" & i))) For k = 1 To j1 If Trim(Str(sh2.Range("a" & k))) = st Then sh1.Range("c" & i) = CDbl(Str(sh2.Range("c" & i)) - CDbl(Str(sh1.Range("c" & k)))) sh2.Range("d" & k) = 1 sh1.Range("d" & i) = 1 End If Next k Next i For i = 1 To j If Not sh1.Range("d" & i) = 1 Then sh3.Range("a" & j1 + 1) = sh1.Range("a" & i) sh3.Range("b" & j1 + 1) = sh1.Range("b" & i) sh3.Range("c" & j1 + 1) = sh1.Range("c" & i) j = j - 1 sh1.Rows(i).Delete i = i - 1 End If Next i For i = 1 To j1 If Not sh1.Range("d" & i) = 1 Then sh3.Range("a" & j1 + 1) = sh2.Range("a" & i) sh3.Range("b" & j1 + 1) = sh2.Range("b" & i) sh3.Range("c" & j1 + 1) = sh2.Range("c" & i) j = j - 1 sh1.Rows(i).Delete i = i - 1 End If Next i End Sub Код:
Цитата:
|
|
05.11.2009, 14:55 | #15 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Вот в таком виде макрос работает:
Код:
Убрал из кода вызывавшие ошибки функции Str() Проверяйте: Могу сделать гораздо более быстрый макрос, но не бесплатно. |
05.11.2009, 16:07 | #16 |
Пользователь
Регистрация: 26.10.2009
Сообщений: 13
|
ну спасибо, работает)
жаль, что делает не то, что надо |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
VBA Excel | .::pk::. | Помощь студентам | 2 | 14.05.2016 09:54 |
Excel VBA, Экспорт в txt, кодировка файла UTF-16 LE/UCS-2 Little Endian+еще один интересный вопрос | Maxximus | Microsoft Office Excel | 17 | 04.09.2009 20:03 |
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 | kovalevskivf | Microsoft Office Excel | 2 | 15.05.2009 16:47 |
VBA i Excel | corsarlt | Microsoft Office Excel | 3 | 03.04.2008 06:13 |