Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2017, 11:39   #21
Aristarkch
Пользователь
 
Регистрация: 06.03.2017
Сообщений: 38
По умолчанию

Если на первом листе ячейки выделяются цветом, то на втором (условно втором) единицами (выделение еще и цветом заманчиво, но не обязательно) и эти единицы должны исчезать синхронно с исчезновением цветовой заливки на первом листе.
Я надеюсь, что в программу можно будет вставлять (вводить, менять) и номера столбцов для единиц и номера листов под них.
Aristarkch вне форума Ответить с цитированием
Старый 19.03.2017, 16:23   #22
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

Проверяйте
Вложения
Тип файла: xls ПРИМЕР ДЛЯ ФОРУМА 2 МОЙ_01.xls (59.5 Кб, 15 просмотров)
Алексей М.

Последний раз редактировалось AlexM12; 19.03.2017 в 16:26.
AlexM12 вне форума Ответить с цитированием
Старый 19.03.2017, 18:10   #23
Aristarkch
Пользователь
 
Регистрация: 06.03.2017
Сообщений: 38
По умолчанию Выделение строк

Ждал Ваш ответ.
1. Когда я задаю очередной новый лист для вывода результата (например, 3, а затем 4) и вывожу результаты на очередной лист, на предыдущих листах (2 и 3) остаются (зависают) выделенные ячейки.
2. Вероятно, я опять не четко сформулировал цель, а ее реализация или очень сложна или невозможна.
Вот о чем я.
Если, например, при выделении ячейки AM34 выделяются ячейки A8 (первая строка) и A14 (седьмая строка), то моя цель выделить не первую и седьмую строки, а 8 и 14 строки.
Вложения
Тип файла: xls ПРИМЕР ДЛЯ ФОРУМА 2 МОЙ_01.xls (65.5 Кб, 12 просмотров)
Aristarkch вне форума Ответить с цитированием
Старый 19.03.2017, 19:01   #24
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim sm, i&, s$, SheetIndex&, ColumnIndex&, rg As Range
  SheetIndex = 4: ColumnIndex = 4 'тут задаем индекс листа и столбец для единиц
  Range("A1:AN18").Interior.ColorIndex = 0:  Sheets(SheetIndex).Cells.Clear
  If Target.Count > 1 Then Exit Sub
  If Not Intersect(Range("B20:AN37"), Target) Is Nothing And Target > 0 Then
    sm = Split(Replace(Target.Formula, "*", ":"), ":"):  s = Left(sm(1), Len(sm(1)) - 1)
    For i = 2 To UBound(sm) Step 2:  s = s & "," & sm(i):  Next:   Set rg = Range(s)
    For i = 1 To 18
      With rg.Offset(i - 1, 0)
        If WorksheetFunction.Sum(.Cells) = .Count Then
          .Cells.Interior.ColorIndex = 4: Cells(i, 1).Interior.ColorIndex = 4
          Sheets(SheetIndex).Cells(Cells(i, 1), ColumnIndex) = 1
          Sheets(SheetIndex).Cells(Cells(i, 1), ColumnIndex).Interior.ColorIndex = 4
        End If
      End With
    Next i
  End If
End Sub
Вложения
Тип файла: xls ПРИМЕР ДЛЯ ФОРУМА 2 МОЙ_01.xls (75.0 Кб, 20 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 19.03.2017 в 19:04.
IgorGO вне форума Ответить с цитированием
Старый 19.03.2017, 19:05   #25
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

Тут только замечания по нашей переписке.
1. В сообщении №21 вы писали, что выделение на листе2 должно сниматься синхронно с листом1. Так это и работает.
Если вы создали новый лист3 и изменили константы в макросе, предварительно не выделив на листе1 ячейку без единицы, то на листе 2 отметки останутся.
Полагаю, вы еще не выработали четкий алгоритм.
Когда с листа2 должно пропасть выделение? Допустим при создании нового листа снимается выделение на всех листах. Как быть, если на первом листе еще выделена АМ34? проработайте алгоритм лучше.
2. В Excel номер строки указан в заголовке строк. Это самая левая часть окна. Вы же пишите А8, подразумевая 8 строку, а это не строка, а значение 8 в ячейке А1, в первой строке. Голова кругом идет расшифровывая ваши задания.
Чтобы лучше понимать друг друга надо использовать терминологию программы. Описывать ячейки по их адресам.
Т.е. при выделении АМ34 выделяются ячейки в 1 и 7 строке, а не в 8 и 14.
3. Если вы прикладываете новый файл, то у него должно быть новое имя.
Алексей М.
AlexM12 вне форума Ответить с цитированием
Старый 19.03.2017, 19:55   #26
Aristarkch
Пользователь
 
Регистрация: 06.03.2017
Сообщений: 38
По умолчанию

Странные вещи происходят.
3 ночи.
Утром вновь посмотрю.
Aristarkch вне форума Ответить с цитированием
Старый 24.03.2017, 10:11   #27
Aristarkch
Пользователь
 
Регистрация: 06.03.2017
Сообщений: 38
По умолчанию Выделение строк

Цитата:
Сообщение от AlexM12 Посмотреть сообщение
Тут только замечания по нашей переписке.
1. В сообщении №21 вы писали, что выделение на листе2 должно сниматься синхронно с листом1. Так это и работает.
Если вы создали новый лист3 и изменили константы в макросе, предварительно не выделив на листе1 ячейку без единицы, то на листе 2 отметки останутся.
Полагаю, вы еще не выработали четкий алгоритм.
Когда с листа2 должно пропасть выделение? Допустим при создании нового листа снимается выделение на всех листах. Как быть, если на первом листе еще выделена АМ34? проработайте алгоритм лучше.
2. В Excel номер строки указан в заголовке строк. Это самая левая часть окна. Вы же пишите А8, подразумевая 8 строку, а это не строка, а значение 8 в ячейке А1, в первой строке. Голова кругом идет расшифровывая ваши задания.
Чтобы лучше понимать друг друга надо использовать терминологию программы. Описывать ячейки по их адресам.
Т.е. при выделении АМ34 выделяются ячейки в 1 и 7 строке, а не в 8 и 14.
3. Если вы прикладываете новый файл, то у него должно быть новое имя.
Здравствуйте!
EXCEL 2003. Задача на примере.
При выделении ЛК ячейки первого листа (ниже 19 строки), например, AC22 выделяются ячейки A13 и A17 первого столбца. Соответственно, в 13 и 17 строки второго столбца (номер столбца задается в макросе) второго листа заносятся единицы с заливкой.

Проблема в том, что при этом стирается содержимое всех остальных столбцов второго листа.
Необходимо сделать так, чтобы при записи в заданный столбец второго листа не затрагивалось содержимое ячеек остальных столбцов этого листа.
В крайнем случае допустимо, чтобы во втором листе, как и в первом, просто заливались (без записи единиц) соответствующие ячейки столбца A: A13 и A17. Содержимое ячеек остальных столбцов также не должно затрагиваться.

Вторая задача - возможность изменения (задания) размеров верхнего и нижнего полей файла. Сейчас в макросе выставлены размер верхнего поля "A1:AN18" и размер нижнего поля "B20:AN37".
Для конкретики: размер верхнего поля может быть "A1:CM36", а размер нижнего "B39:CM127".
Вложения
Тип файла: xls Последний вариант.xls (79.5 Кб, 12 просмотров)
Тип файла: doc ФОРУМ.doc (197.0 Кб, 10 просмотров)
Aristarkch вне форума Ответить с цитированием
Старый 24.03.2017, 11:03   #28
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см. вложение
Вложения
Тип файла: xls ОтметитьДанныеСоставляющиеСумму.xls (96.5 Кб, 13 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 24.03.2017, 11:20   #29
Aristarkch
Пользователь
 
Регистрация: 06.03.2017
Сообщений: 38
По умолчанию

Для IgorGo. Вы запустили свою несуразицу по второму кругу.

Последний раз редактировалось Aristarkch; 24.03.2017 в 12:20.
Aristarkch вне форума Ответить с цитированием
Старый 24.03.2017, 11:32   #30
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

звучит как диагноз)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение строк Aristarkch Microsoft Office Excel 12 07.03.2017 17:09
Выделение позиций(строк) PayPinki C++ Builder 1 31.01.2013 10:11
Выделение строк в Мемо Zuba C++ Builder 1 28.04.2012 13:11
выделение строк ruavia3 Microsoft Office Excel 2 26.08.2009 13:36
Выделение строк с... по - в SynEdit Noor Общие вопросы Delphi 2 29.12.2007 12:41