Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2015, 10:33   #1
Shota_xuc
Новичок
Джуниор
 
Регистрация: 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

почему?
Shota_xuc вне форума Ответить с цитированием
Старый 04.02.2015, 10:41   #2
Hugo121
Старожил
 
Регистрация: 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.
Hugo121 вне форума Ответить с цитированием
Старый 04.02.2015, 12:13   #3
Shota_xuc
Новичок
Джуниор
 
Регистрация: 04.02.2015
Сообщений: 2
По умолчанию

Спасибо Hugo121
Shota_xuc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где ошыбка? 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