|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.02.2015, 10:33 | #1 |
Новичок
Джуниор
Регистрация: 04.02.2015
Сообщений: 2
|
ошыбка 13 vba
Добрые люди у меня такая проблема: есть такой макрос:
Sub open_file() Application.ScreenUpdating = False Dim tarigi As String Dim tve As String Dim filename As String Dim names As String If Application.UserName = "Khutsishvili, Shota" Then names = "O" ElseIf Application.UserName = "Fröström, Millie" Then names = "L" Else names = "Z" End If tarigi = Range("a1").Value tve = Range("a2").Value Workbooks.Open filename:= _ names & ":\Externa Fonder\ORDRAR EXTERNA FONDER\Rapport Daglig Order Summering\2015\" & tve & "\ReportOrderSummering_" & tarigi & ".xls" Sheets("ReportOrderSumUp_6_1").Copy After:=Workbooks("avisering stor order.xlsm"). _ Sheets(1) Windows("ReportOrderSummering_" & tarigi & ".xls").Close ' rename sheet Sheets("ReportOrderSumUp_6_1").Name = "temp" Columns("B:F").Select Selection.UnMerge Columns("C:F").Select Selection.Delete Shift:=xlToLeft 'first woord copy and corresponding large amount copy Dim cells As Range Range("f11:f400").Select For Each Cell In Selection Cell.Select ActiveCell.Formula = "=NOMIDDLE(RC[-4])" ActiveCell.Offset(0, 1).Formula = "=VLOOKUP(RC[-1],data!R1C1:R300C2,2)" Next Cell ' formula ---> text Range("f11:g400").Select Selection.Value = Selection.Value ' delete errors Range("f11:g400").Select For Each Cell In Selection If Cell.Text = "#N/A" Then Cell.ClearContents End If Next Cell ' check large amounts For Each Cell In Range("G11:G400") If Cell.Value < Abs(Cell.Offset(0, -4).Value) Or Cell.Value < Abs(Cell.Offset(0, -3).Value) Then Cell.Offset(0, 1).Value = Cell.Offset(0, -1).Value Cell.Offset(0, 2).Value = 1 Else: ActiveCell.Offset(0, 1).Value = 0 End If Next Cell ' msg box Sheets("temp").Select Range("h11:h400").Select For Each Cell In Selection If Cell.Value <> O Then Cell.Select MsgBox "Vi har stor order i " & Cell.Value End If Next Cell If Application.Sum(Range("i11:i400")) = 0 Then MsgBox "Vi har inga stora ordrar idag" End If Sheets("avisering stora ordrar").Select Range("a2").Select Application.ScreenUpdating = True End Sub каторый работает на моем компе, но выдает ошыбку 13 на компе коллеги. компу коллеги не нравится ета строка: If Cell.Value < Abs(Cell.Offset(0, -4).Value) Or Cell.Value < Abs(Cell.Offset(0, -3).Value) Then почему? |
04.02.2015, 10:41 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
1. Dim cells As Range - cells не трогайтё!
Как кстати и filename и names. For Each Cell In Selection - эта переменная не объявлена! Используйте option explicit! 2. Если у коллеги ошибка ещё не пропала - посмотрите нет ли missing в подключенных библиотеках.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 04.02.2015 в 10:43. |
04.02.2015, 12:13 | #3 |
Новичок
Джуниор
Регистрация: 04.02.2015
Сообщений: 2
|
Спасибо Hugo121
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Где ошыбка? | corbie | Помощь студентам | 3 | 13.10.2013 07:05 |
Паскаль ошыбка | Sky{Force} | Помощь студентам | 2 | 20.05.2012 10:58 |
Почему Ошыбка | ProGec4 | Общие вопросы C/C++ | 9 | 10.02.2012 23:55 |
ошыбка в коде | PATRAHILO | C++ Builder | 0 | 26.08.2011 07:45 |
Ошыбка видовс | Pein! | Windows | 5 | 15.12.2010 16:51 |