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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2010, 00:00   #1
valik65
Пользователь
 
Регистрация: 22.11.2010
Сообщений: 12
По умолчанию Как дописать код для переноса выборочных данных с форматированием на другой лист

Уважаемые знатоки!
Большая просьба о помощи!Написана програмка в эксель -но не могу добить несколько моментов .Один из них помогли решить фуромчане-спасибо "VBA DEVELOPER" - Игорю.
Но осталась ещё одна проблемка которая мне не по зубам.
Поэтому прошу помощи.

Файл прилагаю
Описание проблемы на вкладке "ВОПРОС"
С Уважением Valik65
Вложения
Тип файла: rar ДИЕТА.rar (38.6 Кб, 20 просмотров)
valik65 вне форума Ответить с цитированием
Старый 19.12.2010, 12:28   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см.вложение. кнопка "перенести в ежедневник"
Вложения
Тип файла: rar Книга501.rar (42.8 Кб, 17 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 19.12.2010, 20:17   #3
valik65
Пользователь
 
Регистрация: 22.11.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
см.вложение. кнопка "перенести в ежедневник"
Уважаемый Игорь -спасибо большое ,что откликнулись!
Вы знаете
1.На листе КАЛЬКУЛЯТОР группируется строки , и с каждым нажатием группировок становится всё больше и больше.
А нужно группировать данные на листе Ежедневник.
2.На листе Калькулятор есть 8 кнопок "внести"- это разные приём пищи в течение дня.Каждая такая кнопка вводит данные в сборную таблицу на этом же листе и одновременно очищает колонку ввода (в коде прописано снятие защиты листа ,а потом восстановление ),так вот надо ,что бы в кнопки был дописан код который бы перед стиранием данных ,копировал бы их,менял цвет ,а не оставлял тот который они уже имеют в таблице(причём каждая кнопка присваивала бы свой фиксированный цвет тексту на странице ЕЖЕДНЕВНИК) ,и вставлял бы в начало списка на листе "Ежедневник",не присваивая каждый раз ДАТУ.Дата должна прописываться только раз в день. А В конце дня Кнопкой "удалить данные и внести в таблицу"-удаляется вся информация и вносится в данные графика. В макрос этой кнопки нужно дописать ещё одно действие-что бы на лист Ежедневник вносилась бы СЛЕДУЮЩАЯ дата.
Под которой бы и формировался весь завтрашний день.
На этом цикл заканчивается .

Если сможете -помогите.Буду очень признателен

P.S.И Всё это хотелось бы вставить в уже имеющиеся кнопки -без написания новых
С Большим уважением к Вам,
Валентин
Вложения
Тип файла: rar Книга501.rar (44.0 Кб, 11 просмотров)

Последний раз редактировалось valik65; 19.12.2010 в 20:40.
valik65 вне форума Ответить с цитированием
Старый 19.12.2010, 20:43   #4
valik65
Пользователь
 
Регистрация: 22.11.2010
Сообщений: 12
По умолчанию

Спасибо за код

Последний раз редактировалось valik65; 20.12.2010 в 18:41.
valik65 вне форума Ответить с цитированием
Старый 19.12.2010, 22:06   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

действительно, группирует на листе калькулятор - это ошибка.
замените процедуру
Код:
Sub ToOrganizer()
  Dim rc As Long
  rc = 0
  With Sheets("Ежедневник")
    For r = 44 To 2 Step -1
      If Cells(r, 10) > 0 Then
        rc = rc + 1
        .Rows(4).Insert Shift:=xlDown
        .Cells(4, 1) = Cells(r, 5)
        For c = 5 To 8: .Cells(4, c) = Cells(r, c + 4): Next
        .Rows(4).Font.Color = Cells(r, 5).Font.Color
      End If
    Next
    .Rows("4:5").Insert Shift:=xlDown
    .Range("A4:A5").MergeCells = True
    .Cells(4, 1) = Cells(3, 18)
    .Range("E4:H5").MergeCells = True
    .Cells(4, 5) = Cells(3, 18)
    .Cells(4, 1).NumberFormat = "[$-FC19]dd mmmm yyyy г."
    .Cells(4, 5).NumberFormat = "dddd"
    With .Cells(4, 1).Font
      .Size = 14: .Italic = True: .Bold = True
    End With
    With .Cells(4, 5).Font
      .Size = 12: .Italic = True: .Bold = True
    End With
    .Cells(4, 5).HorizontalAlignment = xlCenter
    Rows("6:" & 5 + rc).Group
  End With
End Sub
на
Код:
Sub ToOrganizer()
  Dim rc As Long
  rc = 0
  With Sheets("Ежедневник")
    For r = 44 To 2 Step -1
      If Cells(r, 10) > 0 Then
        rc = rc + 1
        .Rows(4).Insert Shift:=xlDown
        .Cells(4, 1) = Cells(r, 5)
        For c = 5 To 8: .Cells(4, c) = Cells(r, c + 4): Next
        .Rows(4).Font.Color = Cells(r, 5).Font.Color
      End If
    Next
    .Rows("4:5").Insert Shift:=xlDown
    .Range("A4:A5").MergeCells = True
    .Cells(4, 1) = Cells(3, 18)
    .Range("E4:H5").MergeCells = True
    .Cells(4, 5) = Cells(3, 18)
    .Cells(4, 1).NumberFormat = "[$-FC19]dd mmmm yyyy г."
    .Cells(4, 5).NumberFormat = "dddd"
    With .Cells(4, 1).Font
      .Size = 14: .Italic = True: .Bold = True
    End With
    With .Cells(4, 5).Font
      .Size = 12: .Italic = True: .Bold = True
    End With
    .Cells(4, 5).HorizontalAlignment = xlCenter
    .Rows("6:" & 5 + rc).Group
  End With
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.12.2010, 00:01   #6
valik65
Пользователь
 
Регистрация: 22.11.2010
Сообщений: 12
По умолчанию

Игорь!
Действительно работает.Спасибо.,Но задача несколько другая .В предыдущем сообщении я ей описал.Не могли бы ВЫ помочь в написании кода по условиям изложенным выше.
Я Дал аналогичный запрос на других сайтах программеров,но никто почему то не справился .Неужели задача настолько сложна?
С Уважением Валентин
valik65 вне форума Ответить с цитированием
Старый 20.12.2010, 01:01   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

задачу не решают не по причине какой-то особой сложности, а просто непонятно что необходимо делать.
я сделал что понял или как понял, как мне показалось логично.

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

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

а изменения, которые я прислал: в третьей с конца строке была опечатка - я точку в самом начале строки пропустил.

с уважением,
ИгорьГончаренко
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.12.2010, 04:46   #8
valik65
Пользователь
 
Регистрация: 22.11.2010
Сообщений: 12
По умолчанию

Не получается связаться по скайпу!

Последний раз редактировалось valik65; 20.12.2010 в 18:37.
valik65 вне форума Ответить с цитированием
Старый 20.12.2010, 18:29   #9
valik65
Пользователь
 
Регистрация: 22.11.2010
Сообщений: 12
По умолчанию

Уважаемый Игорь ! Вроде бы сам со всем разобрался благодаря конечно Вашему коду .Спасибо.
Но не могли бы Вы ещё немного со мной ПОВОЗИТЬСЯ ,?И ещё малость подправить код в макросе "ПЕРЕНОСДАННЫХ" ,-тут я уже все варианты перепробывал- без Вашей помощи ничего у меня не выходит?!

Конкретно-на послдней странице группируется только 2 строчки под ячейкой с ДАТОЙ ,а мне надо сгруппировать весь день под этой датой

Как Вы предложили-попытался с Вами по скайпу связаться-но Вы не в онлайн.
Очень надеюсь на Вашу помощь.
С Уважением Валентин
Вложения
Тип файла: rar Копия Диета переработка.rar (50.8 Кб, 12 просмотров)

Последний раз редактировалось valik65; 20.12.2010 в 18:49.
valik65 вне форума Ответить с цитированием
Старый 20.12.2010, 18:47   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Жена-то связалась... и заданий бытовых выдала...

ловите.
кнопка "внести" теперь одна. вносит данные, куда стрелка показывает. чтобы переместить стрелку, напишите чего-нибудь в колонке W (она же колонка 23) напротив нужной строки.
Вложения
Тип файла: rar Книга501.rar (43.3 Кб, 21 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перенос данных на другой лист Jonny B Microsoft Office Excel 15 26.04.2011 09:16
Создание цикла переноса данных из одного диапозона в другой Freerider1972 Microsoft Office Excel 7 30.10.2010 22:15
Выборка данных для переноса на другой лист. Kot9ra Microsoft Office Excel 1 14.10.2010 22:05
Формула для переноса значения с одного листа на другой Олег197709 Microsoft Office Excel 12 12.07.2010 10:52
Макрос переноса строк на другой лист cargoline9 Microsoft Office Excel 11 15.12.2009 22:05