Страница 2 из 2

Re: Вывод отчета в Excel

Добавлено: 23 апр 2014, 16:34
pashulka
И что ... телепатия стала реальностью ? и теперь все могут знать какие именно данные располагаются в Ваших таблицах и combobox'ах ?

Или выкладывайте пример, в виде .xls файла или сделайте первоначальный код более понятным для начинающего и попытайтесь разобраться самостоятельно :

Код: Выделить всё

Private Sub CommandButton1_Click()
    Dim wsh As Worksheet, strMonthName$, strFamilyName$, lngRow1&, lngRow2&
    
    strMonthName = ComboBox1.Value
    strFamilyName = ComboBox2.Value
    
    'Application.ScreenUpdating = False
    
    Set wsh = Worksheets.Add
    wsh.Name = strMonthName & Format(Now(), " dd/mm/yy hh.nn.ss")
    'Имя листа не должно превышать 31 символа
    
    With Worksheets(strMonthName)
         .Rows(1).Copy wsh.Cells(1, "A"): lngRow2 = 2
        
         For lngRow1 = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
             If CStr(.Cells(lngRow1, "J")) = strFamilyName Then
                .Rows(lngRow1).Copy wsh.Cells(lngRow2, "A"): lngRow2 = lngRow2 + 1
             End If
         Next
    End With
    
    'Application.ScreenUpdating = True
End Sub

Re: Вывод отчета в Excel

Добавлено: 23 апр 2014, 17:01
Настя Белова
Просто файл объемный.весит много.не могу его сюда прикрепить

Re: Вывод отчета в Excel

Добавлено: 23 апр 2014, 17:02
Настя Белова
и всё равно копирует шапку

Re: Вывод отчета в Excel

Добавлено: 23 апр 2014, 17:06
pashulka
Настя Белова писал(а):Просто файл объемный.весит много.не могу его сюда прикрепить
А кто говорит, что нужно выкладывать весь файл целиком ? достаточно один месяц, например, март и 100 строк вполне достаточно.
Настя Белова писал(а):и всё равно копирует шапку
Т.е. Вы наконец-то разобрались с примером, внесли необходимые изменения и всё равно копирует шапку ...

Re: Вывод отчета в Excel

Добавлено: 23 апр 2014, 17:16
Настя Белова
[ATTACH]1971[/ATTACH] посмотрите сами что не так

Re: Вывод отчета в Excel

Добавлено: 23 апр 2014, 17:22
Настя Белова
Private Sub CommandButton1_Click()
Dim wsh As Worksheet, strMonthName$, strFamilyName$, lngRow1&, lngRow2&

strMonthName = ComboBox1.Value
strFamilyName = ComboBox2.Value

'Application.ScreenUpdating = False

Set wsh = Worksheets.Add
wsh.Name = strMonthName & Format(Now(), " dd/mm/yy hh.nn.ss")
'Èìÿ ëèñòà íå äîëæíî ïðåâûøàòü 31 ñèìâîëà

With Worksheets(strMonthName)
.Rows(1).Copy wsh.Cells(1, "A"): lngRow2 = 2

For lngRow1 = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
If CStr(.Cells(lngRow1, "I")) = strFamilyName Then

.Rows(lngRow1).Copy wsh.Cells(lngRow2, "A"): lngRow2 = lngRow2 + 1
End If
Next
End With

'Application.ScreenUpdating = True
End Sub
так сделала.и кажется вывело то что нужно.щас еще проверю

Re: Вывод отчета в Excel

Добавлено: 23 апр 2014, 17:34
pashulka
Даже не смешно ... "полгода" искать в чужом столбце, впрочем, в Вашем случае, кроме правильного указания столбца необходимо ещё и удалить ненужные пробелы, которые наличествуют, например у фамилии "Байкова ", т.е.

Код: Выделить всё

If Trim(CStr(.Cells(lngRow1, "I"))) = strFamilyName Then