Модераторы: mihanik

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выдиление ячеек, как выделить диапазон ячеек с помщю xlUP 
:(
    Опции темы
Gannibal
Дата 21.5.2005, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



задача такова, у меня есть ексцел лист в нём например в 4 ячейках которые разбросаны по целому листу, можно было производить выдиление области между этими 4 записями или тремя как это реализовать с помощю xlUP

я вот пытаюсь проходить целый лист

Код

Dim rw, col As Integer

For rw = 1 To 2000
 For col = 1 To 2000

 Next col
Next rw


но как яа незнающий человек... хотелось бы знать как бы так можно было реализовать

Это сообщение отредактировал(а) M.E.G.U.S - 21.5.2005, 08:20


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
likhobory
Дата 21.5.2005, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



Попробуй сформулировать вопрос поконкретнее, что необходимо – выделить диапазон между 4-мя произвольно расположенными ячейками ??


--------------------
PM MAIL   Вверх
Gannibal
Дата 21.5.2005, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



Цитата(likhobory @ 21.5.2005, 10:32)
выделить диапазон между 4-мя произвольно расположенными ячейками ??


да именно вот это и надо.. даже если будут три ячейки росположены произвольно .. то будет выделятся область между этими ячейками

я вот уже дошёл до стадии когда узнаю адрес ячейки в которой уже записан текст

Код

For rw = 1 To 50
 For col = 1 To 50
    If Cells(rw, col).Text <> "" Then
        MsgBox Cells(rw, col).Address
    End If
 Next col
 Next rw


Это сообщение отредактировал(а) M.E.G.U.S - 21.5.2005, 11:43


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Gannibal
Дата 21.5.2005, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



вот уже дошёл до стадии когда выделяю диапазон между двумя ячейками

Код

Private Sub CommandButton1_Click()
Dim rw, col As Integer
Dim a()
Dim i As Integer

For rw = 1 To 50
 For col = 1 To 50
    If Cells(rw, col).Text <> "" Then
      ReDim Preserve a(i)
      a(i) = Cells(rw, col).Address
      i = i + 1
    End If
Next col
Next rw
 
Range(a(0) & " : " & a(1)).Select
End Sub


но ето я делаю программно а то говорят что можно с помощхю xlUP функции чтоли или как то так... вот мне с помощью неё и надо

Это сообщение отредактировал(а) M.E.G.U.S - 22.5.2005, 02:41


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
likhobory
Дата 21.5.2005, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



Цитата(M @ 21.5.2005, 11:39)
даже если будут три ячейки росположены произвольно .. то будет выделятся область между этими ячейками

все же - что имеешь в виду: ячейки должны быть "углами" некой прямоугольной области ??
Если объяснение проблематично - прикрепи к тексту вопроса файл с примером - быстрее найдем общий язык smile
Цитата(M @ 21.5.2005, 11:50)
можно с помощхю xlUP функции

поправочка: xlUP - константа, другое дело, где ее применять - пока затрудняюсь ответить, т.к. сам вопрос до конца не ясен smile



--------------------
PM MAIL   Вверх
Gannibal
Дата 21.5.2005, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



короче постораюсь поподробнее.. есть у нас лист
- пользовател в тот лист либовольно задаёт в ячейки какой нибудь текст всёравно что ну например по листу разброссано в ячейке А1="привет" В10="вот так" Е5="что то"
- заполненые ячейки служат как границы как ты написал выше
- надо выделить диапазон(область) ячеек внутри этих границ

-------------

написаны границы в ячейках выделение должно произойти в диапазоне С16 : Е25

Это сообщение отредактировал(а) M.E.G.U.S - 21.5.2005, 17:03

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  sesit.zip


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
likhobory
Дата 21.5.2005, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



попробуй так
Код

ActiveSheet.UsedRange.Select



--------------------
PM MAIL   Вверх
Gannibal
Дата 21.5.2005, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



Цитата(likhobory @ 21.5.2005, 16:02)
ActiveSheet.UsedRange.Select


ну это выделяет всю рабочию область в которой я работаю на топик выше я написал какая область должна выплнится и фаил прикрепил



--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
likhobory
Дата 21.5.2005, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



тогда почему в примере заполнена ячейка B10 ??
в листе (кроме введенных 3-4 значений) подразумевается наличие и других значений ??



--------------------
PM MAIL   Вверх
Gannibal
Дата 21.5.2005, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



Цитата(likhobory @ 21.5.2005, 16:20)
тогда почему в примере заполнена ячейка B10 ??


она определяет левую границу выделения


Цитата(likhobory @ 21.5.2005, 16:20)
в листе (кроме введенных 3-4 значений) подразумевается наличие и других значений ??


ну их может быть записаных и три и 4 и пять значений.. например.. и эти значения определяют границы выделения мне так было сказано в школе..
мне самому в голову неидёт... как это сделать
Добавлено @ 17:24
ну 5 значений неможет быть то значение пятое небудет участвовать границы та всёже 4 только


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
likhobory
Дата 21.5.2005, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



тем не менее можно начать с выделения именно рабочей области, а потом её же и "доводить до ума"
Код

ActiveSheet.UsedRange.Select
'обработка правой и нижней границ
Selection.Resize(numRowsSelection.Rows.Count - 1, Selection.Columns.Count - 1).Select
'.........................



--------------------
PM MAIL   Вверх
Gannibal
Дата 21.5.2005, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



Цитата(likhobory @ 21.5.2005, 17:47)
Selection.Resize(numRowsSelection.Rows.Count - 1, Selection.Columns.Count - 1).Select


в этой строчке ошибку кидает типо object required run=time error 424

Добавлено @ 18:57
можешь поподробнее .. немножко а то я вба приказы вообще незнаю

Это сообщение отредактировал(а) M.E.G.U.S - 21.5.2005, 18:58


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Gannibal
Дата 21.5.2005, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



Цитата(M @ 21.5.2005, 17:56)
Selection.Resize(numRowsSelection.Rows.Count - 1, Selection.Columns.Count - 1).Select


уже с этом розобрался как работает smile буду пробовать спасибо пока если есть ещё идеи скажи smile

ну проблема настало когда я отчитываю от выделения.. оно берётся только с права и с низу.. и всё с верху незнаю как.. и работает некоректно .. это непоможет я думаю

Цитата(likhobory @ 21.5.2005, 17:47)
Selection.Resize(numRowsSelection.Rows.Count - 1, Selection.Columns.Count - 1).Select


и кстати у тебя ошибка в этой строчке она должна выглядит вот так

Код

Selection.Resize(Selection.Rows.Count - 1, Selection.Columns.Count - 1).Select


Это сообщение отредактировал(а) M.E.G.U.S - 21.5.2005, 19:25


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
likhobory
Дата 21.5.2005, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



угу, очепятка


Это сообщение отредактировал(а) likhobory - 21.5.2005, 19:39


--------------------
PM MAIL   Вверх
Gannibal
Дата 21.5.2005, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



ну вот например я узнал адреса всех ячеек в которых записан текст но блин как всё сделать незнаю smile


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0614 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.