Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
6 / 6 / 3
Регистрация: 10.12.2013
Сообщений: 116
1

ошибка 438

15.07.2016, 11:44. Показов 4212. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
зравствуйте вылетает ошибка 438 обозначил ошибку строкой error
Visual Basic
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
Sub RunMacro()
    Init
    
    If Not ValidateInputs Then
        MsgBox "Status : FAILED" & vbLf & vbLf & "Please check LOGs sheet.", vbOKOnly, "Status"
        Exit Sub
    End If
    
    Application.ScreenUpdating = False
    For Each entry In START_SHEET.Range(VALID_FILES_RANGE)
        CopySheetsToThisWorkbook entry.Value
    Next
    
    For Each entry In CurrentWB.Sheets
        If Not (InStr(1, entry.Name, "<") = 1 And _
            InStr(1, entry.Name, ">") = Len(entry.Name)) Then
                entry.Visible = False
        End If
    Next
    
    Set SRC_DATA_1 = CurrentWB.Worksheet(5) ---error!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Set SRC_DATA_2 = CurrentWB.Worksheet(6)
    
    Application.DisplayAlerts = False
    
    CSVToXLS SRC_DATA_1
    CSVToXLS SRC_DATA_2
    
    
    Set RELEASE_MAP_SHEET = CurrentWB.Sheets(9)
    For Each entry In RELEASE_MAP_SHEET.Range("A2:B" & MAX_VALID_DATA_ROW)
        entry.Value = Trim(entry.Value)
    Next
    
    Set FOCAL_POINT_SHEET = CurrentWB.Sheets(7)
    Set COUNTRY_REGION_SHEET = CurrentWB.Sheets(8)
    
    PrepareFinalDataSheet
    
    For Each entry In CurrentWB.Sheets
        If Not (InStr(1, entry.Name, "<") = 1 And _
            InStr(1, entry.Name, ">") = Len(entry.Name)) Then
                entry.Delete
        End If
    Next
    
    FINAL_DATA_SHEET.Range("A:Z").EntireColumn.AutoFit
    INVALID_DATA_SHEET.Range("A:Z").EntireColumn.AutoFit
    
    Application.DisplayAlerts = True
    
    Application.ScreenUpdating = True
    
    If ActiveWorkbook.Name = CurrentWB.Name Then
        For Each entry In ActiveWorkbook.Sheets
            If START_SHEET_NAME = entry.Name Then
                entry.Select
            End If
        Next
    End If
    
    CreateNewWorkbookAsXLSX
    
    MsgBox "Status : COMPLETED" & vbLf & vbLf & "Please check LOGs sheet.", vbOKOnly, "Status"
    
End Sub
Visual Basic
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
Public fso As Object
Public CurrentWB As Workbook
 
Public Const START_SHEET_NAME As String = "<START>"
Public Const LOGS_SHEET_NAME As String = "<LOGs>"
Public Const FINAL_DATA_SHEET_NAME As String = "<Final Data>"
Public Const INVALID_DATA_SHEET_NAME As String = "<Invalid Data>"
 
Public START_SHEET As Worksheet
Public LOGS_SHEET As Worksheet
Public FINAL_DATA_SHEET As Worksheet
Public INVALID_DATA_SHEET As Worksheet
 
Public Const MAX_VALID_DATA_ROW = 10000
 
Public Const VALID_FILES_RANGE = "$D$5:$D$9"
Public Const LOGS_RANGE = "$A$2:$B$1000"
Public Const VALID_DATA_RANGE = "$A$2:$A$" & MAX_VALID_DATA_ROW
 
Public SRC_DATA_1 As Workbook
Public SRC_DATA_2 As Workbook
Public RELEASE_MAP_SHEET As Worksheet
Public FOCAL_POINT_SHEET As Worksheet
Public COUNTRY_REGION_SHEET As Worksheet
 
 
Function Init()
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    Set CurrentWB = ActiveWorkbook
    
    Set START_SHEET = CurrentWB.Sheets(START_SHEET_NAME)
    Set LOGS_SHEET = CurrentWB.Sheets(LOGS_SHEET_NAME)
    Set FINAL_DATA_SHEET = CurrentWB.Sheets(FINAL_DATA_SHEET_NAME)
    Set INVALID_DATA_SHEET = CurrentWB.Sheets(INVALID_DATA_SHEET_NAME)
    
    LOGS_SHEET.Range(LOGS_RANGE).ClearContents
    FINAL_DATA_SHEET.Range("$A$2:$Z$" & MAX_VALID_DATA_ROW).Clear
    INVALID_DATA_SHEET.Range("$A$2:$Z$" & MAX_VALID_DATA_ROW).Clear
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For Each entry In CurrentWB.Sheets
        If Not (InStr(1, entry.Name, "<") = 1 And _
            InStr(1, entry.Name, ">") = Len(entry.Name)) Then
                entry.Delete
        End If
    Next
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    
End Function
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2016, 11:44
Ответы с готовыми решениями:

Сводная таблица - Ошибка '438'
Привет! Я первый раз на каком либо форуме, еще не освоилась как писать. Если что не так простите. Я...

Ошибка 438 при создании новой папки
Подскажите как создать новую папку или в чем тут дело? Я подключаю библиотеку Microsoft Scripting...

Ошибка 438 при закрытии объекта excel макросом с word
Привет, Ребята! Есть проблема. Помогите решить, пожалуйста! Есть макрос, который находит...

Ошибка Run-time error '438': Object doesn't support this property or method при транспонировании матрицы
Выдает ошибку Run-time error '438': Object doesn't support this property or method. Private Sub...

2
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,724
15.07.2016, 11:51 2
Надо писать worksheets
0
Заблокирован
15.07.2016, 11:55 3
Попробуйте разобраться в типах своих объектов -
Visual Basic
1
Set SRC_DATA_1 = CurrentWB.WorksheetS(5) 'CurrentWB.Worksheet(5) ---error!!!!!!!!!!!!!!!!!!!!!!!!!!!
Visual Basic
1
Public SRC_DATA_1 As WORKSHEET 'Workbook
0
15.07.2016, 11:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2016, 11:55
Помогаю со студенческими работами здесь

Работа с Visio и ошибка "438 объект не поддерживает метод"
Dim vsoDocument As Visio.Document Const sPath As String = &quot;C:\Users\AlimovA\Documents\Shema...

Error 438 при объединении ячеек
Добрый день! прошу помощи!! пишу такой код objdoc.range(objdoc.tables(n_d * 2 + 2).Cell(n_i + 3,...

Не могу извлечь арктангенс. Выдает ошибку 438
Добрый день. Пытаюсь извлечь арктангенс в excel. m =...

Выдает ошибку 438 при работе с Selection
Доброго времени суток! На паре дали задание написать программу, чтобы при выделении ячеек и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru