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

Вход

Регистрация

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

 

= Мир MS Excel/Задание диапазонов. Выдает ошибку - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Задание диапазонов. Выдает ошибку (Макросы/Sub)
Задание диапазонов. Выдает ошибку
kleo90 Дата: Вторник, 31.05.2016, 11:37 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Как мне задать диапазон[vba]
Код
For Each x In wl0.UsedRange.Cells
[/vba]

Необходимо искать с 254 и ниже строки столбца D , не задать выдает постоянно ошибку.
[vba]
Код
Dim x As Variant

    Dim wb0 As Workbook
    Dim wl0 As Worksheet

    Application.ScreenUpdating = False
    Set wb0 = ThisWorkbook
    Set wl0 = wb0.Worksheets("Лист1")

'Set r1 = w10.Range("D:D")

    wb0.Activate
   With Workbooks.Open("C:\Documents\Учет.xlsx")
       For Each x In wl0.UsedRange.Cells
       'For Each x In Workbooks("Учет3.xlsm").Sheets("Лист1").Cells
            If LCase(x.Text) Like "*родс*" Then
                rk = .Worksheets("Лист1").Cells(Rows.Count, 3).End(xlUp).Row
                If .Worksheets("Лист1").Columns(3).Find(x.Offset(, -2)) Is Nothing Then
                    .Worksheets("Лист1").Cells(rk + 1, 3).Value = x.Offset(, -2)
                    
                    .Worksheets("Лист1").Cells(rk + 1, 4).Value = x.Offset(, 2)
                    
                End If
            End If
        Next x
End With
End Sub
[/vba]
К сообщению приложен файл: 0828915.xlsm (32.1 Kb)
 
Ответить
СообщениеКак мне задать диапазон[vba]
Код
For Each x In wl0.UsedRange.Cells
[/vba]

Необходимо искать с 254 и ниже строки столбца D , не задать выдает постоянно ошибку.
[vba]
Код
Dim x As Variant

    Dim wb0 As Workbook
    Dim wl0 As Worksheet

    Application.ScreenUpdating = False
    Set wb0 = ThisWorkbook
    Set wl0 = wb0.Worksheets("Лист1")

'Set r1 = w10.Range("D:D")

    wb0.Activate
   With Workbooks.Open("C:\Documents\Учет.xlsx")
       For Each x In wl0.UsedRange.Cells
       'For Each x In Workbooks("Учет3.xlsm").Sheets("Лист1").Cells
            If LCase(x.Text) Like "*родс*" Then
                rk = .Worksheets("Лист1").Cells(Rows.Count, 3).End(xlUp).Row
                If .Worksheets("Лист1").Columns(3).Find(x.Offset(, -2)) Is Nothing Then
                    .Worksheets("Лист1").Cells(rk + 1, 3).Value = x.Offset(, -2)
                    
                    .Worksheets("Лист1").Cells(rk + 1, 4).Value = x.Offset(, 2)
                    
                End If
            End If
        Next x
End With
End Sub
[/vba]

Автор - kleo90
Дата добавления - 31.05.2016 в 11:37
Manyasha Дата: Вторник, 31.05.2016, 12:01 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
kleo90, у Вас имена переменных отличаются:

Set wl0 = wb0.Worksheets("Лист1")
Set r1 = w10.Range("D:D")

Можно еще так:
[vba]
Код
For Each x In wl0.UsedRange.Columns(4).Cells
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеkleo90, у Вас имена переменных отличаются:

Set wl0 = wb0.Worksheets("Лист1")
Set r1 = w10.Range("D:D")

Можно еще так:
[vba]
Код
For Each x In wl0.UsedRange.Columns(4).Cells
[/vba]

Автор - Manyasha
Дата добавления - 31.05.2016 в 12:01
kleo90 Дата: Вторник, 31.05.2016, 12:18 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо большое, а не заметила и не понимаю в чем дело, совсем глаз замылился
 
Ответить
СообщениеСпасибо большое, а не заметила и не понимаю в чем дело, совсем глаз замылился

Автор - kleo90
Дата добавления - 31.05.2016 в 12:18
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Задание диапазонов. Выдает ошибку (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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