vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest wtorek, 30 kwietnia 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Usuwanie zbędnych wierszy - makro


otwartyotwarty rozpoczął: Marie postów: 5



napisał: Harry
postów: 42


umieszczony:
5 czerwca 2012
10:09

  
Moim zdaniem najprościej i najszybciej było by posortować
napisał: Marie
postów: 22


umieszczony:
5 czerwca 2012
08:41

  
Super - bardzo dziękuję.
Widać kto się zna - wystarczył mały trik (którego nie znałam), a działa jak należy.

Jeszcze raz dziękuję za pomoc : )
napisał: admin
postów: 613


umieszczony:
4 czerwca 2012
17:04

edytowany:
4 czerwca 2012
17:27

  
Cytat:
Cytat:
Nie robi tego w taki sposób jak bym chciała, to znaczy usuwa puste wiersze, ale nie wszystkie. Stąd moja prośba o jakąś podpowidź.
Spróbuj usuwać wiersze począwszy od dołu ku górze (step -1)



Ja bym jeszcze dopisal, ze nalezaloby usuwac wiersze z arkusza spis:

For i = d1 To 1 Step -1

    If a1.Cells(i, 1).Value = "" Then
    a1.Rows(i).Delete shift:=xlUp
    End If

Next i

napisał: Trebor
postów: 1209


umieszczony:
4 czerwca 2012
16:42

  
Cytat:
Nie robi tego w taki sposób jak bym chciała, to znaczy usuwa puste wiersze, ale nie wszystkie. Stąd moja prośba o jakąś podpowidź.
Spróbuj usuwać wiersze począwszy od dołu ku górze (step -1)
napisał: Marie
postów: 22


umieszczony:
4 czerwca 2012
14:46

edytowany:
4 czerwca 2012
15:17

  
Mam takie makro:

Sub Znajduj_litery_usun_puste()

Dim i As Integer, j As Integer
Dim d1 As Long, d2 As Long
Dim flag As Boolean

Set a1 = Sheets("Spis")
Set a2 = Sheets("Czy jest")

d1 = a1.Cells(Rows.Count, "A").End(xlUp).Row
d2 = a2.Cells(Rows.Count, "A").End(xlUp).Row

For i = 1 To d2
s = a2.Cells(i, 1).Value
flag = False
        For j = 1 To d1
        If UCase(a1.Cells(j, 1).Value) = UCase(s) Then
        a1.Cells(j, 1).Interior.ColorIndex = 8
        flag = True
    End If
        Next j
If flag = False Then a2.Cells(i, 1).Interior.ColorIndex = 3
       
Next i

For i = 1 To d1

    If Cells(i, 1).Value = "" Then
    Rows(i).Delete shift:=xlUp
    End If

Next i


End Sub



Jednakże ostatnia jego część nie działa tak jakbym tego chciała. Chodziło mi o to, by makro usuwało puste wiersze z arkusza o nazwie "Spis". Nie robi tego w taki sposób jak bym chciała, to znaczy usuwa puste wiersze, ale nie wszystkie. Stąd moja prośba o jakąś podpowidź. Z góry dziękuję.


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z