Добрый день уважаемые специалисты и просто гуру Excel. Вновь прошу вашей помощи ... вылетает ошибка 438 Беру диапазон ячеек и засовываю его в цикл For Each In [vba]
Код
Sub Proverka()
Set Prover = ThisWorkbook Dim MyRange As Range Dim MyRange2 As Range Dim MyRange3 As Object
Set MyRange2 = ThisWorkbook.Worksheets("Лист2").Range("A2:F11") Set MyRange3 = Prover.Worksheets("Лист2") Cell4201 = "null"
For Each MyRange In MyRange2 MsgBox MyRange.Address
If MyRange = "" Then MyRange3.MyRange.Values = Cell4201 ----------------------тут ошибка вроде всё указал .. не понимаю .. End If
If IsDate(MyRange) Then Cell4202 = "'" & MyRange & "'" MyRange.Value = Cell4202 End If
If InStr(MyRange, ",") Then Cell4203 = "'" & MyRange & "'" MyRange.Value = Cell4203 End If
Next MyRange End Sub
[/vba]
Добрый день уважаемые специалисты и просто гуру Excel. Вновь прошу вашей помощи ... вылетает ошибка 438 Беру диапазон ячеек и засовываю его в цикл For Each In [vba]
Код
Sub Proverka()
Set Prover = ThisWorkbook Dim MyRange As Range Dim MyRange2 As Range Dim MyRange3 As Object
Set MyRange2 = ThisWorkbook.Worksheets("Лист2").Range("A2:F11") Set MyRange3 = Prover.Worksheets("Лист2") Cell4201 = "null"
For Each MyRange In MyRange2 MsgBox MyRange.Address
If MyRange = "" Then MyRange3.MyRange.Values = Cell4201 ----------------------тут ошибка вроде всё указал .. не понимаю .. End If
If IsDate(MyRange) Then Cell4202 = "'" & MyRange & "'" MyRange.Value = Cell4202 End If
If InStr(MyRange, ",") Then Cell4203 = "'" & MyRange & "'" MyRange.Value = Cell4203 End If
_Boroda_, Нужно перезаписать ячейки с синтаксисом для Oracla Если ячейка пустая то записывается Null Если текст то берётся в одинарные кавычки ' ' Если дата тоже в одинарные кавычки ' ' Если число с плавающей запятой тоже в одинарные кавычки ' ' Если просто целое число то ничего не делаем
_Boroda_, Нужно перезаписать ячейки с синтаксисом для Oracla Если ячейка пустая то записывается Null Если текст то берётся в одинарные кавычки ' ' Если дата тоже в одинарные кавычки ' ' Если число с плавающей запятой тоже в одинарные кавычки ' ' Если просто целое число то ничего не делаемElhust
Раз уж файл-пример(согласно правил) жлобитесь показать, то: 1) [vba]
Код
For Each MyRange In MyRange2.cells
[/vba] 2) Что такое Cell4201? а. Эта переменная не объявлена, какой тип ее? б. значение null пишется без кавычек, иначе получится просто текст. 3) [vba]
Код
If MyRange = "" Then MyRange3.MyRange.Values = Cell4201
[/vba]- это какой-то тунгусский санскрит [vba]
Код
If MyRange = "" Then MyRange.Value = Cell4201
[/vba]
Раз уж файл-пример(согласно правил) жлобитесь показать, то: 1) [vba]
Код
For Each MyRange In MyRange2.cells
[/vba] 2) Что такое Cell4201? а. Эта переменная не объявлена, какой тип ее? б. значение null пишется без кавычек, иначе получится просто текст. 3) [vba]
Код
If MyRange = "" Then MyRange3.MyRange.Values = Cell4201
KuklP, сори но там есть файл пример в сообщении код из него просто вставлен для тех кто понимает без файла ... сори я стараюсь соблюдать правила или что то не так понял ... а как удалить это сообщение ... Мне один раз за то что я с умничал в кавычках поставили минус репы я считаю что нужно относиться к людям с пониманием а поймём мы их только тогда когда посмотрим на ситуацию их глазами
KuklP, сори но там есть файл пример в сообщении код из него просто вставлен для тех кто понимает без файла ... сори я стараюсь соблюдать правила или что то не так понял ... а как удалить это сообщение ... Мне один раз за то что я с умничал в кавычках поставили минус репы я считаю что нужно относиться к людям с пониманием а поймём мы их только тогда когда посмотрим на ситуацию их глазамиElhust
Каждый сам выбирает правила игры
Сообщение отредактировал Elhust - Среда, 12.07.2017, 13:28
Sub Proverka() Dim MyRange As Range, MyRange2 As Range Set MyRange2 = ThisWorkbook.Worksheets("Лист2").Range("A2:F11") For Each MyRange In MyRange2.Cells 'MsgBox MyRange.Address If MyRange = "" Then MyRange.Value = "null" ElseIf IsDate(MyRange) Then MyRange.Value = "'" & MyRange & "'" ElseIf InStr(MyRange, ",") Then MyRange.Value = "'" & MyRange & "'" End If Next End Sub
[/vba]
[vba]
Код
Sub Proverka() Dim MyRange As Range, MyRange2 As Range Set MyRange2 = ThisWorkbook.Worksheets("Лист2").Range("A2:F11") For Each MyRange In MyRange2.Cells 'MsgBox MyRange.Address If MyRange = "" Then MyRange.Value = "null" ElseIf IsDate(MyRange) Then MyRange.Value = "'" & MyRange & "'" ElseIf InStr(MyRange, ",") Then MyRange.Value = "'" & MyRange & "'" End If Next End Sub