Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 | 2 | 3 |

 

  Вопрос: поиск строки по ячейке Добавлено: 04.06.08 15:29  

Автор вопроса:  sashok60

Ответить

  Ответы Всего ответов: 38  

Номер ответа: 16
Автор ответа:
 sashok60



Вопросов: 3
Ответов: 23
 Профиль | | #16 Добавлено: 05.06.08 11:13
может свой пример вышлешь я посмотрю

Ответить

Номер ответа: 17
Автор ответа:
 Fatty



Вопросов: 0
Ответов: 55
 Профиль | | #17 Добавлено: 05.06.08 11:14
А если попробовать тупым перебором ячеек,
мне кажется будет работать в любой версии:

Sub CopyBlanks()

    Dim Wsh As Worksheet
    Dim Rng As Range
    Dim cRng As Range
    Dim iRng As Range
    Dim i As Long
    Dim j As Long
    Set Wsh = Sheets("Лист1";)
    Set Rng = Wsh.Range("A1", Wsh.Range("A" & Wsh.UsedRange.Rows.Count).End(xlUp))
    j = 1
    For i = 1 To Rng.Rows.Count
    If Rng.Cells(i, 1).Value = "" Then
    Rng.Rows(i).EntireRow.Copy Destination:=Sheets("Лист2";).Range("A" & CStr(j))
    j = j + 1
    End If
Next

End Sub


~'J'~

Ответить

Номер ответа: 18
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #18 Добавлено: 05.06.08 11:40
Куда выслать?

Ответить

Номер ответа: 19
Автор ответа:
 sashok60



Вопросов: 3
Ответов: 23
 Профиль | | #19 Добавлено: 05.06.08 11:51
sashok60@rambler.ru

Ответить

Номер ответа: 20
Автор ответа:
 sashok60



Вопросов: 3
Ответов: 23
 Профиль | | #20 Добавлено: 05.06.08 12:03
Private Sub Macro1()
    ;Dim RowIndex As Long
    ;Dim tmpRange As String

    Sheets("Ëèñò1";).Select
    For RowIndex = 2 To 18
        If Len(Cells(RowIndex, vbNull).Value) = 0 Then _
            tmpRange = tmpRange & CStr(RowIndex) & ":" & CStr(RowIndex) & ","
    Next

    If Len(tmpRange) > vbNull Then
        tmpRange = Left$(tmpRange, Len(tmpRange) - vbNull)
        Range(tmpRange).Select
        Selection.Copy
        Sheets("Ëèñò2";).Select
        
        ActiveSheet.Paste
        Sheets("Ëèñò1";).Select
        Selection.Delete
        Range("A1";).Select
    End If

End Sub

Этот код проходит только если на втором листе выделить любую ячейку в первом столбце

Ответить

Номер ответа: 21
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #21 Добавлено: 05.06.08 12:22
Ну дык, проблема выделить её чтоли?

Ответить

Номер ответа: 22
Автор ответа:
 sashok60



Вопросов: 3
Ответов: 23
 Профиль | | #22 Добавлено: 05.06.08 12:27
пишу выделить ячейку А1, сразу выдает ошибку

Ответить

Номер ответа: 23
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #23 Добавлено: 05.06.08 12:54
sash пробовал код Fatty?


Private Sub Macro1()
    Dim RowIndex As Long
    Dim tmpRange As String

    Sheets("Лист1";).Select
    For RowIndex = 2 To 18
        If Len(Cells(RowIndex, vbNull).Value) = 0 Then _
            tmpRange = tmpRange & CStr(RowIndex) & ":" & CStr(RowIndex) & ","
    Next

    If Len(tmpRange) > vbNull Then
        tmpRange = Left$(tmpRange, Len(tmpRange) - vbNull)
        Range(tmpRange).Select
        Selection.Copy
        Sheets("Лист2";).Select
        Range("A1";).Select
        ActiveSheet.Paste
        Sheets("Лист1";).Select
        Selection.Delete
        Range("A1";).Select
    End If

End Sub

Ответить

Номер ответа: 24
Автор ответа:
 sashok60



Вопросов: 3
Ответов: 23
 Профиль | | #24 Добавлено: 05.06.08 13:11
Range("A1";).Select вот на этом ошибка, если это убираю и выделяю любую ячейку в первом столбце, все работает

Ответить

Номер ответа: 25
Автор ответа:
 sashok60



Вопросов: 3
Ответов: 23
 Профиль | | #25 Добавлено: 05.06.08 13:34
Все понял в чем трабл, я писал макрос для листа, а если для книги то все нормально

Ответить

Номер ответа: 26
Автор ответа:
 sashok60



Вопросов: 3
Ответов: 23
 Профиль | | #26 Добавлено: 05.06.08 15:03
И еще может быть глупый вопрос: как сделать активным следующий лист? не по названию

Ответить

Номер ответа: 27
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #27 Добавлено: 05.06.08 15:14
Sheets(1).Select
Sheets(2).Select
Sheets(3).Select

Ответить

Номер ответа: 28
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #28 Добавлено: 05.06.08 15:15
Сначала ответил, а потом уже понял вопрос :)

Ответить

Номер ответа: 29
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #29 Добавлено: 05.06.08 15:17
Sheets(ActiveSheet.Index + 1).Select

Ответить

Номер ответа: 30
Автор ответа:
 sashok60



Вопросов: 3
Ответов: 23
 Профиль | | #30 Добавлено: 05.06.08 15:18
не ты меня не понял, например: есть активный лист, просто надо выделить следующий, не важно какой предыдущий

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам