Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Вставка данных из цикла по группе "For Each in" - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставка данных из цикла по группе "For Each in" (Макросы/Sub)
Вставка данных из цикла по группе "For Each in"
Elhust Дата: Среда, 12.07.2017, 12:18 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 130
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
Добрый день уважаемые специалисты и просто гуру 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]
К сообщению приложен файл: 7198192.xls(35Kb)


Каждый сам выбирает правила игры

Сообщение отредактировал Elhust - Среда, 12.07.2017, 12:19
 
Ответить
СообщениеДобрый день уважаемые специалисты и просто гуру 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]

Автор - Elhust
Дата добавления - 12.07.2017 в 12:18
_Boroda_ Дата: Среда, 12.07.2017, 12:40 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 10829
Репутация: 4473 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А Вы что получить хотите? Словами объясните


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА Вы что получить хотите? Словами объясните

Автор - _Boroda_
Дата добавления - 12.07.2017 в 12:40
Elhust Дата: Среда, 12.07.2017, 13:02 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 130
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
_Boroda_,
Нужно перезаписать ячейки с синтаксисом для Oracla
Если ячейка пустая то записывается Null
Если текст то берётся в одинарные кавычки ' '
Если дата тоже в одинарные кавычки ' '
Если число с плавающей запятой тоже в одинарные кавычки ' '
Если просто целое число то ничего не делаем


Каждый сам выбирает правила игры
 
Ответить
Сообщение_Boroda_,
Нужно перезаписать ячейки с синтаксисом для Oracla
Если ячейка пустая то записывается Null
Если текст то берётся в одинарные кавычки ' '
Если дата тоже в одинарные кавычки ' '
Если число с плавающей запятой тоже в одинарные кавычки ' '
Если просто целое число то ничего не делаем

Автор - Elhust
Дата добавления - 12.07.2017 в 13:02
KuklP Дата: Среда, 12.07.2017, 13:17 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2186
Репутация: 466 ±
Замечаний: 0% ±

2003-2010
Раз уж файл-пример(согласно правил) жлобитесь показать, то:
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]


Ну, с НДС и мы чего-то стoим! bombb6@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Среда, 12.07.2017, 13:19
 
Ответить
СообщениеРаз уж файл-пример(согласно правил) жлобитесь показать, то:
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]

Автор - KuklP
Дата добавления - 12.07.2017 в 13:17
Elhust Дата: Среда, 12.07.2017, 13:21 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 130
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
KuklP, сори но там есть файл пример в сообщении код из него просто вставлен для тех кто понимает без файла ... сори я стараюсь соблюдать правила или что то не так понял ...
а как удалить это сообщение ...
Мне один раз за то что я с умничал в кавычках поставили минус репы
я считаю что нужно относиться к людям с пониманием а поймём мы их только тогда когда посмотрим на ситуацию их глазами


Каждый сам выбирает правила игры

Сообщение отредактировал Elhust - Среда, 12.07.2017, 13:28
 
Ответить
СообщениеKuklP, сори но там есть файл пример в сообщении код из него просто вставлен для тех кто понимает без файла ... сори я стараюсь соблюдать правила или что то не так понял ...
а как удалить это сообщение ...
Мне один раз за то что я с умничал в кавычках поставили минус репы
я считаю что нужно относиться к людям с пониманием а поймём мы их только тогда когда посмотрим на ситуацию их глазами

Автор - Elhust
Дата добавления - 12.07.2017 в 13:21
KuklP Дата: Среда, 12.07.2017, 13:25 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2186
Репутация: 466 ±
Замечаний: 0% ±

2003-2010
Тогда это я обезьяна. Щас гляну.


Ну, с НДС и мы чего-то стoим! bombb6@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеТогда это я обезьяна. Щас гляну.

Автор - KuklP
Дата добавления - 12.07.2017 в 13:25
KuklP Дата: Среда, 12.07.2017, 13:40 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2186
Репутация: 466 ±
Замечаний: 0% ±

2003-2010
[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
[/vba]


Ну, с НДС и мы чего-то стoим! bombb6@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Среда, 12.07.2017, 13:50
 
Ответить
Сообщение[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
[/vba]

Автор - KuklP
Дата добавления - 12.07.2017 в 13:40
Elhust Дата: Среда, 12.07.2017, 13:58 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 130
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
KuklP, Благодарю теперь понял свою ошибку yes


Каждый сам выбирает правила игры
 
Ответить
СообщениеKuklP, Благодарю теперь понял свою ошибку yes

Автор - Elhust
Дата добавления - 12.07.2017 в 13:58
Elhust Дата: Четверг, 13.07.2017, 08:25 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 130
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
KuklP, сорян за беспокойство


Каждый сам выбирает правила игры

Сообщение отредактировал Elhust - Четверг, 13.07.2017, 08:38
 
Ответить
СообщениеKuklP, сорян за беспокойство

Автор - Elhust
Дата добавления - 13.07.2017 в 08:25
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставка данных из цикла по группе "For Each in" (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!