Eliminare (ascunse) linii ale condiției de a excela macro-uri

Eu nu suport macro-uri gratuite, și a le modifica pentru a se potrivi cerințelor dumneavoastră.

Te rog spune-mi. Am suferit pentru o săptămână. Nu pot modifica macro existente pentru a ascunde rânduri. Există un tabel cu numere. Ai nevoie de ceva pentru a ascunde rânduri atunci când atât coloana A și B și C și valoarea D este mai mică decât 0. Ar fi bine să se introducă această valoare în formă de utilizator și nu au butoane ascunde și arată toate. Ajută-te rog. Și totuși, numărul de rânduri poate bate diferite. Un valori digitale, începând cu a doua linie.

Buna ziua, Am o situație. Există un tabel cu 3000 rânduri și aproximativ 25 de coloane
Primele 10 coloane sunt umplute cu textul, 11-25 bari sunt numere. Cum pot elimina complet linia în cazul în care coloanele 11-25, toate celulele goale. și dacă cel puțin o celulă este plină, linia nu sa atins? dar, în primele zece coloane nu trebuie să se acorde o atenție

Și cum să facă aceeași condiție de a uni celule pentru doar câteva valori?

Prompt, la fel ca și foaia macro "2", "2A", "2B" și așa mai departe. D.

Sub UdalenieStrokPoUsloviyu ()
Dim ra Ca Gama, delra Ca Range, TekstDlyaPoiska Ca String
Application.ScreenUpdating = False „actualizare ecran dezactivare

TekstDlyaPoiska = „nume de valoare“, „șterge linia cu textul

„Itereaza peste toate rândurile din foaia de bandă utilizată
Pentru fiecare ra În ActiveSheet.UsedRange.Rows
„În cazul în care textul este găsit în șirul
În cazul în care nu ra.Find (TekstDlyaPoiska. XlValues, xlPart) este nimic Atunci
„Adăugați o linie la gama pentru a șterge
Dacă delra este nimic Atunci Set delra = ra Else Set delra = Union (delra, ra)
End If
următor
„Dacă a găsit linia adecvată - ștergeți-le
Dacă nu este nimic delra Atunci delra.EntireRow.Delete
end Sub

Dacă doriți să afișați o linie contrar „EntireRow.Hidden = false“
Cum de a căuta text în rânduri / coloane ascunse?

Alo Spune-mi, te rog, cum să se înregistreze macro, astfel încât:
1. Se elimină toate rândurile cu culoarea de umplere, sau
2. șterge toate liniile care conțin fie celula cu orice culoare de umplere.
Mulțumesc.

Igor, mulțumesc pentru macro - face viața mai ușoară! Nu sfătui cum să folosească această macrocomandă atunci când protejarea foaie?

Buna ziua! Te rog spune-mi, Cum sa faci un macro ascunde linia cu condiția ca două coloane consecutive 0 sau goale? și că el nu se execută atunci când deschideți fișierul și faceți clic pe?
Am o opțiune privind starea coloanei așa cum este corect

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim d Ca Integer
d = UsedRange.Rows.Count + 1
Pentru rwIndex = 1 La 31
colIndex = 3
În cazul în care celulele (rwIndex, colIndex) .value = 0 Atunci
Rânduri (rwIndex) .Hidden = True
End If
următor
end Sub

Mi-ar fi foarte recunoscător)

Buna ziua! Am o problemă cu mese mari și kollichestvom lor) într-o carte am 25 de foi în fiecare tabele mari pentru imprimare udbstva am creat un macro ascunde rânduri nedorite, coloane și celule din întreaga carte dintr-o dată, alternativ pe fiecare foaie. Acum vreau să puteți implementa imediat în întreaga carte ascunse celule. Și eu nu pot) Spune-mi cum să se stabilească acest macro pentru a face să funcționeze în modulul „Această carte“ pentru toate foile dintr-o dată

Sub Show ()
Columns.Hidden = False
Rows.Hidden = False

În - ceea ce a ordonat doctorul - vă mulțumesc! Și rău pentru că nu corect :)

Sander, am scris codul de modul în care a întrebat - dacă există un număr de celule, rândul se elimină.
Și a trebuit să eliminați numai celula cu numărul (și nu conțin cifre)
înlocui

Sander, așa că încercați:

Bine ai venit! Răsfoit, am citit - încă nu am găsit răspunsul la sarcina lui, și este acest lucru: în coloana, și textul alternativ și numerele - este necesar pentru a elimina liniile care conțin numere (ele estno - diferite). Vă mulțumim!

Eugene, la anularea acțiunii macro nu funcționează în Excel
(Asta face un macro, nu a anulat - bine aranjate Excel)

Prompt. după îndepărtarea rânduri cu un macro, nu poți pentru un motiv oarecare inapoi inapoi inapoi izmeneniya.Chto nevoie pentru a face modificări să se întoarcă înapoi.

Bine ai venit Nuryana.
Programul meu funcționează bine - în cazul în care este configurat corect
(Set pentru fiecare site specific - de ruble + 2500 program de 1500 în sine este în valoare)

Bună ziua Admin! Ai căutat o lungă perioadă de timp. munca la negru ca o achiziție de joint-venture și deja torturat cu cataloage de umplere, efort nu mai este. După ce a cumpărat hrăpăreață un programator, bine eu nu fac mulțumit. Unul ar trebui să cumpere gheară 2800 și funcționează prin timp. Spune-mi cum programul este și cât de mult costă, și poate fi personalizat la locul unde lucrez și să-l utilizați în mod continuu o dată plătit?

Putem face la comanda - totul va funcționa așa cum ar trebui.

Chiar și ucide - nu funcționează. Ideea este ca un macro este declanșată atunci când faceți clic pe celula. Este nevoie de valoarea liniilor de curent active și 2 coloane, arată la o altă foaie, și ar trebui să fie distins. Întreaga idee.
Codul asupra păcatului
"VzyatDannye = Cells (ActiveCell.Row, 2) .value"
El nu ia valoarea -> nu se poate găsi pe o altă foaie. Cum să-l facă să vadă valoarea. (Ghilimelele set - nu ajută.

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Anulare Ca Boolean)

Dim ra Ca Gama, FINRA Ca Gama

Dacă Target.Cells.Value = „“ Sub apoi ieșiți
În cazul în care nu Intersect (Target, Range ( "AF3: AF5000")) este nimic Atunci

Dacă nu este nimic FINRA Atunci finra.EntireRow.Select
Application.ScreenUpdating = Adevărat
End If
end Sub

Andrew, așa că încercați

Cu linii ascunse sunt toate excelente. dar ce se întâmplă dacă mai târziu, am nevoie de niște linii ascunse din nou, dezvăluie (ca un semn pentru a ascunde ele pot fi irelevante în viitor)?
A făcut o astfel de rânduri, dar bileberdu ascunse, el nu a dezvăluit :( Probabil că nu văd rândurile ascunse. Ajută sfat te rog!

Sub () macro
Dim ra Ca Gama, delra Ca Range, TekstDlyaPoiska Ca String
Application.ScreenUpdating = False

Pentru fiecare ra În ActiveSheet.UsedRange.Rows

În cazul în care nu ra.Find (TekstDlyaPoiska. XlValues, xlPart) este nimic Atunci

Dacă delra este nimic Atunci Set delra = ra Else Set delra = Union (delra, ra)
End If
următor

Dacă nu este nimic delra Atunci delra.EntireRow.Hidden = False
end Sub

Kirill, așa că încercați:
UdalyatStrokiSTekstom = Worksheets ( "ImyaVtorogoLista") gama ( "a2: a10").
sau cam așa ceva
UdalyatStrokiSTekstom = Worksheets (2) .range ( "a2: a10")

Buna ziua! macro-ul este foarte ajută, spune-mi, cum să facă cuvintele de căutare au fost luate nu dintr-un șir de caractere = Array ( "Nume *", "Number", "text?", "Price * STI", "* 78 *"), precum și cu cealaltă folie

Bună ziua tuturor!
Pentru codul mulțumesc. Confruntați cu o astfel de problemă:

Eu scriu acest cod și programul funcționează bine, șterge rânduri care nu conțin „* Nivelul 1 *“:
DelStrTex = "* Nivelul 1 *"
Pentru fiecare ra în foi ( "O1"). UsedRange.Rows
Pentru fiecare cuvânt în DelStrTex
Dacă ra.Find (cuvânt. XlValues, xlPart) este nimic Atunci
Dacă delra este nimic Atunci Set delra = ra Else Set delra = Union (delra, ra)
End If
cuvântul următor
următor

Dar când vreau să specificați o matrice, programul elimină rândurile care nu conțin „* Nivelul 1 *“ „* ryvani *“ „* secțiune transversală *“, programul șterge toate!

DelStrTex = Array ( "* Level 1 *", "* ryvani *", "* * secțiunea")
Pentru fiecare ra în foi ( "O1"). UsedRange.Rows
Pentru fiecare cuvânt în DelStrTex
Dacă ra.Find (cuvânt. XlValues, xlPart) este nimic Atunci
Dacă delra este nimic Atunci Set delra = ra Else Set delra = Union (delra, ra)
End If
cuvântul următor
următor

De ce? Ce fac greșit?

Vă mulțumesc foarte mult pentru :) macro foarte util!

Adăugați următoarea linie
Dacă delra este nimic Atunci Set delra = ra Else Set delra = Union (delra, ra)
următoarele linii
Dacă ra.Row> 1 Apoi Set delra = Union (delra, ra.Offset (-1))
Set delra = Union (delra, ra.Offset (1))

Buna ziua! Nu-mi spune cum să eliminați împreună cu linia găsit, anterioară și următoare?