Eliminare randuri goale in tabele.
Eliminare randuri goale in tabele.
Din exces de zel unii isi bat singuri cuie in talpa !
Deci, avem un document cu foarte multe tabele.
Teoretic, tabele au acelasi nr. de coloane. Dar numai teoretic.
In tabele sunt foarte multe randuri goale care trebuie eliminate.
Cum se poate face chestia asta automat ?
Deci, avem un document cu foarte multe tabele.
Teoretic, tabele au acelasi nr. de coloane. Dar numai teoretic.
In tabele sunt foarte multe randuri goale care trebuie eliminate.
Cum se poate face chestia asta automat ?
Re: Eliminare randuri goale in tabele.
Buna ziua
Se pare ca macro de care aveti nevoie (inclusiv cateva precizari cum sa-l adaptati pentru a modifica toate tabelele din documentul respectiv) il gasiti aici
IP
PS. Pentru viitor, va rugam sa deschideti subiectele in sectiunea dedicata cf. versiunii pe care o folositi. Sectiunea de Tips ... este pentru altceva.
Se pare ca macro de care aveti nevoie (inclusiv cateva precizari cum sa-l adaptati pentru a modifica toate tabelele din documentul respectiv) il gasiti aici
IP
PS. Pentru viitor, va rugam sa deschideti subiectele in sectiunea dedicata cf. versiunii pe care o folositi. Sectiunea de Tips ... este pentru altceva.
Re: Eliminare randuri goale in tabele.
Dragul meu,
Cu riscul de a ma bana "Dr. Office", aka Bogdan Tarla )), de cand s-a inventat situl asta, problemele de acest gen s-au discutat pe Tips si pe Visual Basic for Application (VBA) - Intrebari tehnice.
O sa pun intrebarile pe VBA, cu toate ca ele sunt mult mai de folos pe Office pentru ca multi utilizatori habar nu au ca exista VBA !
Cu stima !
Cu riscul de a ma bana "Dr. Office", aka Bogdan Tarla )), de cand s-a inventat situl asta, problemele de acest gen s-au discutat pe Tips si pe Visual Basic for Application (VBA) - Intrebari tehnice.
O sa pun intrebarile pe VBA, cu toate ca ele sunt mult mai de folos pe Office pentru ca multi utilizatori habar nu au ca exista VBA !
Cu stima !
Re: Eliminare randuri goale in tabele.
Scritul la care m-ai trimis chiar functioneaza dupa micile corecturi de rigoare. )))
Asa ca il pun aici poate il mai foloseste cineva. :
Asa ca il pun aici poate il mai foloseste cineva. :
Cod: Selectaţi tot
Sub DeleteEmptyRows()
'cod provenit de la http://word.mvps.org/faqs/macrosvba/DeleteEmptyRows.htm
Dim oTable As Table, oRow As Range, oCell As Cell, Counter As Long, _
NumRows As Long, TextInRow As Boolean
' Specify which table you want to work on.
Set oTable = Selection.Tables(1)
' Set a range variable to the first row's range
Set oRow = oTable.Rows(1).Range
NumRows = oTable.Rows.Count
Application.ScreenUpdating = False
For Counter = 1 To NumRows
StatusBar = "Row " & Counter
TextInRow = False
For Each oCell In oRow.Rows(1).Cells
If Len(oCell.Range.Text) > 2 Then
'end of cell marker is actually 2 characters
TextInRow = True
Exit For
End If
Next oCell
If TextInRow Then
Set oRow = oRow.Next(wdRow)
Else
oRow.Rows(1).Delete
End If
Next Counter
Application.ScreenUpdating = True
End Sub
Ultima oară modificat Vin Oct 11, 2013 7:22 pm de către IPP, modificat 1 dată în total.
Motiv: adaugare tag CODE si comentariu-link catre sursa codului
Motiv: adaugare tag CODE si comentariu-link catre sursa codului
Re: Eliminare randuri goale in tabele.
Testat in conditii reale, scriptul NU functioneaza daca tabela nu este perfect "ordonata" !
Orice merge vertical de celule, CHIAR daca nu este in primele 2 randuri duce la eroare.
"Run-time error '5991'
Cannot acces individual rows in this collection because the table has verticaly merged cells"
Deci scriptul NU trebuie sa verifice toata tabela, ci doar primele 2 randuri !!!
(merge pe 3 randuri la capul de tabel mai rar !)
Daca are cineva idei ....
Multumesc.
Orice merge vertical de celule, CHIAR daca nu este in primele 2 randuri duce la eroare.
"Run-time error '5991'
Cannot acces individual rows in this collection because the table has verticaly merged cells"
Deci scriptul NU trebuie sa verifice toata tabela, ci doar primele 2 randuri !!!
(merge pe 3 randuri la capul de tabel mai rar !)
Daca are cineva idei ....
Multumesc.