Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 20.01.2014, 00:45   #1
Amirhan
Пользователь
 
Регистрация: 03.03.2011
Сообщений: 13
Репутация: 10
Восклицание Не получается задать диапазон

Доброго времени суток, друзья необходима ваша помощь. Вопрос в следующем, у меня по форме на первый лист вытаскиваются данные со второго листа, существует необходимость чтоб прочерчивало границы таблицы автоматически, никак не выходит организовать данный вопрос, с помощью макросов получил следующий код:
PHP код:
 Sheets("Лист1").Select
    Range
("A7:E7").Select
    Selection
.Borders(xlDiagonalDown).LineStyle xlNone
    Selection
.Borders(xlDiagonalUp).LineStyle xlNone
    With Selection
.Borders(xlEdgeLeft)
        .
LineStyle xlContinuous
        
.ColorIndex 0
        
.TintAndShade 0
        
.Weight xlThin
    End With
    With Selection
.Borders(xlEdgeTop)
        .
LineStyle xlContinuous
        
.ColorIndex 0
        
.TintAndShade 0
        
.Weight xlThin
    End With
    With Selection
.Borders(xlEdgeBottom)
        .
LineStyle xlContinuous
        
.ColorIndex 0
        
.TintAndShade 0
        
.Weight xlThin
    End With
    With Selection
.Borders(xlEdgeRight)
        .
LineStyle xlContinuous
        
.ColorIndex 0
        
.TintAndShade 0
        
.Weight xlThin
    End With
    With Selection
.Borders(xlInsideVertical)
        .
LineStyle xlContinuous
        
.ColorIndex 0
        
.TintAndShade 0
        
.Weight xlThin
    End With
    With Selection
.Borders(xlInsideHorizontal)
        .
LineStyle xlContinuous
        
.ColorIndex 0
        
.TintAndShade 0
        
.Weight xlThin
    End With
    Range
("C11").Select 
То есть вручную прописан диапазон, а мне необходимо чтоб правый нижний край определялся автоматически, пытался след образом:
PHP код:
ILastRow4 sheets1.Cells(sheets1.Rows.Count"E").End(xlUp).Row
      Sheets
("Лист1").Select
    Range
(A7ILastRow4).Select 
но никак не выходит у меня

Последний раз редактировалось Amirhan; 20.01.2014 в 00:53.
Amirhan вне форума   Ответить с цитированием
Старый 20.01.2014, 01:00   #2
alex77755
Участник клуба
 
Аватар для alex77755
 
Регистрация: 15.02.2009
Адрес: Украина Павлоград
Сообщений: 753
Репутация: 64
По умолчанию

Примерно такая конструкция дожна быть:
Код:
Range("A1:G" & ILastRow4).Select
А в такой конструкции можешь менять все цифровые значения
Код:
Range(cells(1,1),cells(11,7)).Select
__________________
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru

Последний раз редактировалось alex77755; 20.01.2014 в 01:04.
alex77755 вне форума   Ответить с цитированием
Старый 20.01.2014, 10:36   #3
Amirhan
Пользователь
 
Регистрация: 03.03.2011
Сообщений: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
Примерно такая конструкция дожна быть:
Код:
Range("A1:G" & ILastRow4).Select
А в такой конструкции можешь менять все цифровые значения
Код:
Range(cells(1,1),cells(11,7)).Select
Не получается , на строке
PHP код:
Range ("A7:E" ILastrow4).Select 
ругается, Object required
Amirhan вне форума   Ответить с цитированием
Старый 20.01.2014, 10:46   #4
kuklp
Профессионал
 
Регистрация: 02.05.2010
Адрес: Украина, Днепропетровск.
Сообщений: 1,390
Репутация: 152

icq: 4190413
skype: pilipnik
По умолчанию

Значит выкладывайте пример, где не получается. Код правильный. Мож у Вас там какая буква кириллицей, мож ILastrow4 имеет неверное значение. Будет пример, будет о чем поговорить.
__________________
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума   Ответить с цитированием
Старый 20.01.2014, 11:05   #5
Amirhan
Пользователь
 
Регистрация: 03.03.2011
Сообщений: 13
Репутация: 10
По умолчанию

Прикрепил, на второй форме код
Вложения
Тип файла: rar Диапазон.rar (57.0 Кб, 7 просмотров)
Amirhan вне форума   Ответить с цитированием
Старый 20.01.2014, 11:16   #6
kuklp
Профессионал
 
Регистрация: 02.05.2010
Адрес: Украина, Днепропетровск.
Сообщений: 1,390
Репутация: 152

icq: 4190413
skype: pilipnik
По умолчанию

Дык Вы, дружище, бреда понаписывали. Объявляете:
ILastRow4 As Range
а хотите ей присвоить номер строки:
Код:
ILastRow4 = Sheets1.Cells(Sheets1.Rows.Count, "E").End(xlUp).Row
Я уж молчу о том, что листа с кодовым именем Sheets1 не существует. Теперь сами справитесь?
__________________
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума   Ответить с цитированием
Старый 20.01.2014, 11:19   #7
kuklp
Профессионал
 
Регистрация: 02.05.2010
Адрес: Украина, Днепропетровск.
Сообщений: 1,390
Репутация: 152

icq: 4190413
skype: pilipnik
По умолчанию

Ладно уж, держите, а то мне ждать некогда:
Код:
Private Sub CommandButton1_Click()
Dim ILastRow, ILastRow2, ILastRow3 As Long, lr As Long
Dim rCell, ILastRow4 As Long
With Sheets(1)
ILastRow3 = .Cells(.Rows.Count, "A").End(xlUp).Row
If ILastRow3 < 7 Then ILastRow3 = 7
.Range(.Cells(7, 1), .Cells(ILastRow3, 5)).ClearContents
End With
    With Sheets(2)
        ILastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        For Each rCell In Range(.Cells(2, 1), .Cells(ILastRow, 1))
           If rCell.Value = CDate(TextBox1.Value) Then
            If CDate(rCell.Value) = CDate(TextBox1.Value) Then
                lr = rCell.Row
                With Sheets(1)
                 ILastRow = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
                 If ILastRow < 7 Then ILastRow = 7
                .Cells(ILastRow, "A").Value = Sheets("Лист2").Cells(lr, 1).Value
                .Cells(ILastRow, "B").Value = Sheets("Лист2").Cells(lr, 2).Value
                .Cells(ILastRow, "C").Value = Sheets("Лист2").Cells(lr, 3).Value
                .Cells(ILastRow, "D").Value = Sheets("Лист2").Cells(lr, 4).Value
                .Cells(ILastRow, "E").Value = Sheets("Лист2").Cells(lr, 5).Value
            End With
            End If
          End If
        Next rCell
    End With
    ILastRow4 = Sheets(1).Cells(Sheets(1).Rows.Count, "E").End(xlUp).Row
    Range("A7:E" & ILastRow4).Select
...
__________________
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума   Ответить с цитированием
Старый 20.01.2014, 12:22   #8
Amirhan
Пользователь
 
Регистрация: 03.03.2011
Сообщений: 13
Репутация: 10
По умолчанию

Извиняюсь за долгий ответ, был занят, благодарю, позже доберусь до нее дам ответ)))
Amirhan вне форума   Ответить с цитированием
Старый 20.01.2014, 12:41   #9
Amirhan
Пользователь
 
Регистрация: 03.03.2011
Сообщений: 13
Репутация: 10
По умолчанию

Заработало))))
Amirhan вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA в Экселе: как задать диапазон копирования каролина_a Помощь студентам 1 28.10.2012 11:11
Задать диапазон ограниченый номерами строк и столбов Severny Microsoft Office Excel 5 12.09.2011 11:12
как задать диапазон времени Dmitrys Microsoft Office Excel 3 11.02.2011 17:51
Как задать диапазон листов в СЧЁТЕСЛИ olga=) Microsoft Office Excel 7 08.09.2010 01:14
задать диапазон используя значение переменной eto Microsoft Office Excel 12 03.03.2009 18:36


21:38.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.