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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2010, 15:27   #1
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию Выборка данных

Здравствуйте.

Как сделать выборку столбца 31 диапазон =Отчет!$AE$6:$AE$443

Необходимо при клике по кнопке “Поставщик” выбрать все данные листа "Отчет" столбца 31 диапазон =Отчет!$AE$6:$AE$443, и перенести их на лист “Поставщик” и вставить в столбец 1, начиная с третьей строки. В примере показано что при клике по кнопке “Поставщик” пользователь попадает в “Окно просмотра” в это время должна происходить и выборка данных. После закрытия окна просмотра, данные листа “Поставщик” удаляются.
Вложения
Тип файла: rar Книга1.rar (11.0 Кб, 20 просмотров)
segail вне форума Ответить с цитированием
Старый 08.02.2010, 15:52   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Необходимо при клике по кнопке “Поставщик” выбрать все данные листа "Отчет" столбца 31 диапазон =Отчет!$AE$6:$AE$443, и перенести их на лист “Поставщик” и вставить в столбец 1, начиная с третьей строки.
В чем проблема? Включаете макрорекордер - через несколько секунд получаете готовый код из 2 строк.

В модуль ЭтаКнига пишете что-то вроде такого:
Код:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    [Отчет!$AE$6:$AE$443].Copy [Поставщик!a3]
End Sub
Ну или переделываем существующий код:
Код:
Private Sub CommandButton4_Click()
    If Sheets("Отчет").Range("R1") = "" Or Sheets("Отчет").Range("N1") = "" Then
        MsgBox "База данных потребителя не доступна, выберите марку топлива.", 64, "Информационное сообщение"
    Else
        Application.ScreenUpdating = False
        Me.Hide: Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", True)"
        Sheets("Поставщик").Visible = True
        
        ' выводим данные
        [Отчет!$AE$6:$AE$443].Copy [Поставщик!a3]
        Sheets("Поставщик").PrintPreview

        ' дальше код будет выполняться только после закрытия окна предварительного просмотра
        [Поставщик!a3:a1000].Clear
        
        Sheets("Поставщик").Visible = False:        Application.ScreenUpdating = True
        Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", False)"
        Me.Show
    End If
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 08.02.2010, 16:06   #3
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

А как убрать пробелы?
Необходимо чтобы заполнение со строки 3 листа “Поставщик” было последовательное, пес пробелов (выборка).

Последний раз редактировалось segail; 08.02.2010 в 16:22.
segail вне форума Ответить с цитированием
Старый 08.02.2010, 16:22   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
А как убрать пробелы?
А откуда я знаю, какие там пробелы? Я же не смотрел информацию на листах...

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

Неужто вы думаете, что при подобном неуважении к участникам форума Вам предложат готовое решение?


Насчёт кода - попробуйте так: (не проверял)
Код:
[Поставщик!a3:a1000].SpecialCells(xlCellTypeBlanks).Delete

Последний раз редактировалось EducatedFool; 08.02.2010 в 16:26.
EducatedFool вне форума Ответить с цитированием
Старый 08.02.2010, 16:37   #5
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Хотел как лучше, получилось как всегда. В мыслях не было…
Пытался предоставить пример файла, так как он есть на самом деле.
segail вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка данных с использованием in() eda SQL, базы данных 3 02.02.2010 12:08
Выборка из базы данных fygas1991 PHP 3 07.12.2009 23:54
Выборка и подстановка данных. HIC БД в Delphi 10 10.09.2009 11:34
Выборка данных ADRENALIN86 Microsoft Office Excel 1 13.08.2009 15:51
Выборка данных из StringGrid quqer БД в Delphi 1 14.03.2008 12:56