Nu copiați rândurile ascunse în excel. Lipiți în rândurile vizibile în Excel. Umplerea celulelor goale

Lipiți numai în linii vizibile înexcela numerele, formulele, textul pot fi realizate în mai multe moduri. Când trebuie să inserați numere, formule, text nu în toate rândurile tabelului, puteți utiliza un filtru. Cum se instalează un filtru și cum se filtrează în Excel, consultați articolul „Filtrați în Excel”. Dar pentru a insera date numai în celule vizibile, aveți nevoie de propriile metode, mai ales dacă există multe rânduri.
Prima cale este comun .
Să luăm o masă ca asta. Tabelul va fi același pentru toate exemplele.
Să folosim un filtru pentru a elimina toate cifrele 2 din tabel. În celulele vizibile rămase punem numărul 600. În celula B2 punem numărul 600, apoi îl copiam în jos pe coloană (trageți colțul din dreapta jos al celulei B2). Valorile au fost copiate numai în celule vizibile. De asemenea, puteți introduce formule în același mod. Scriem următoarea formulă în celula C2. =A2*10
A ieșit așa.
Să anulăm filtrul. Rezultatul este un tabel ca acesta.
Formula și numerele au fost introduse numai în rândurile filtrate.
A doua cale.
De asemenea, vom filtra datele. În prima celulă scriem un număr, formulă, text etc. Acum, dacă există mii de rânduri, atunci selectați celulele astfel: apăsați tastele „Ctrl” + „Shift” + butonul săgeată în jos (sau butonul sus, în funcție de locul în care dorim să selectăm celulele - mai jos sau deasupra celula în care a fost scris numărul) .
Acum, sau apăsați combinația de taste „Ctrl” + G sau tasta F5. Va apărea caseta de dialog Tranziție. Faceți clic pe butonul „Selectați...”. Și, în noua casetă de dialog „Selectați un grup de celule”, bifați caseta de lângă cuvintele „Numai celule vizibile”.Faceți clic pe „OK”. Apoi introduceți ca de obicei.

O altă modalitate de a afișa caseta de dialog Selectați grupul de celule.În fila „Acasă”, în secțiunea „Editare”, faceți clic pe butonul „Găsiți și selectați”. În lista care apare, faceți clic pe funcția „Selectați un grup de celule”.

La completați celulele vizibile în coloanele Excel selectate, apăsați combinația de taste „Ctrl” + D. Și toate coloanele selectate vor fi umplute cu date sau cu o formulă, ca în prima celulă. În exemplul nostru, am scris numărul 800 în celula D2, coloana D.



A treia cale.
Într-o coloană nouă (în exemplul nostru, coloana E), selectați celulele. Apăsați tasta F5. Va apărea caseta de dialog Tranziție. Faceți clic pe butonul „Selectați...”. Și, în noua casetă de dialog „Selectați un grup de celule”, bifați caseta de lângă cuvintele „Numai celule vizibile”. Faceți clic pe „OK”. Acum, fără a anula selecția, în prima celulă a coloanei (a noastră este E2), introduceți o formulă, un număr etc. Apăsați combinația de taste „Ctrl” + „Enter”.

Formatare condiționată (5)
Liste și intervale (5)
Macrocomenzi (proceduri VBA) (63)
Diverse (39)
Erori și erori Excel (4)

Cum să lipiți celulele copiate numai în celule vizibile/filtrate

În general, sensul articolului, cred, este deja clar din titlu. Am să-l extind puțin.

Nu este un secret că Excel vă permite să selectați numai rânduri vizibile (de exemplu, dacă unele dintre ele sunt ascunse sau este aplicat un filtru).

Deci, dacă copiați numai celule vizibile în acest fel, acestea vor fi copiate așa cum era de așteptat. Dar când încercați să lipiți ceva copiat într-un interval filtrat (sau care conține rânduri ascunse), rezultatul lipirii nu va fi exact ceea ce vă așteptați. Datele vor fi inserate chiar și în rândurile ascunse.

Copiați un singur interval de celule și inserați numai în cele vizibile
Pentru a insera date numai în celule vizibile, puteți utiliza următoarea macrocomandă:

Opțiune Explicit Dim rCopyRange As Range „Cu această macrocomandă copiam datele Sub My_Copy() If Selection.Count > 1 Then Set rCopyRange = Selection.SpecialCells(xlVisible) Else : Set rCopyRange = ActiveCell End If End Sub „Cu această macrocomandă inserăm date pornind de la celula selectată Sub My_Paste() Dacă rCopyRange este Nimic, Ieșire Sub dacă rCopyRange.Areas.Count > 1 Apoi MsgBox „Intervalul lipit nu trebuie să conțină mai mult de o regiune!”, vbCritical, „Interval nevalid”: Exit Sub Dim rCell As Range, li As Long , le As Long , lCount As Long , iCol As Integer , iCalculation As Integer Application.ScreenUpdating = False iCalculation = Application.Calculation: Application.Calculation = -4135 Pentru iCol = 1 To rCopyRange .Columns.Count li = 0: lCount = 0: le = iCol - 1 Pentru fiecare rCell din rCopyRange.Columns(iCol).Cells Do If ActiveCell.Offset(li, le).EntireColumn.Hidden = False And _ ActiveCell.Offset (li, le).EntireRow.Hidden = False Apoi rCell.Copy ActiveCell.Offset(li, le): lCount = lCount + 1 End If li = li + 1 Loop While lCount >= rCell.Row - rCopyRange.Cells(1 ).Row Next rCell Next iCol Application.ScreenUpdating = True : Application.Calculation = iCalculation End Sub

Opțiune Explicit Dim rCopyRange As Range "Utilizați această macrocomandă pentru a copia datele Sub My_Copy() If Selection.Count > 1 Then Set rCopyRange = Selection.SpecialCells(xlVisible) Else: Set rCopyRange = ActiveCell End If End Sub "Utilizați această macrocomandă pentru a lipi datele pornind de la celulele selectate Sub My_Paste() If rCopyRange Is Nothing Then Exit Sub If rCopyRange.Areas.Count > 1 Then MsgBox „Intervalul lipit nu trebuie să conțină mai mult de o zonă!”, vbCritical, „Interval nevalid”: Exit Sub Dim rCell As Range, li As Long, le As Long, lCount As Long, iCol As Integer, iCalculation As Integer Application.ScreenUpdating = False iCalculation = Application.Calculation: Application.Calculation = -4135 Pentru iCol = 1 To rCopyRange.Columns .Count li = 0: lCount = 0: le = iCol - 1 Pentru fiecare rCell din rCopyRange.Columns(iCol).Cells Do If ActiveCell.Offset(li, le).EntireColumn.Hidden = False And _ ActiveCell.Offset(li , le).EntireRow.Hidden = False Apoi rCell.Copy ActiveCell.Offset(li, le): lCount = lCount + 1 End If li = li + 1 Loop While lCount >= rCell.Row - rCopyRange.Cells(1). Row Next rCell Next iCol Application.ScreenUpdating = True: Application.Calculation = iCalculation End Sub

Pentru a completa imaginea, este mai bine să atribuiți aceste macrocomenzi tastelor rapide (în codurile de mai jos, acest lucru se face automat când deschideți o carte cu codul). Pentru a face acest lucru, trebuie doar să copiați codurile de mai jos în modul Această carte (Acest registru de lucru) :

Opțiune Explicit „Anulați atribuirea tastelor rapide înainte de a închide registrul de lucru Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.OnKey „^q”: Application.OnKey „^w” End Sub „Atribuiți taste rapide la deschiderea registrului de lucru Private Sub Workbook_Open() Application .OnKey „^q”, „My_Copy”: Application.OnKey „^w”, „My_Paste” End Sub

Acum puteți copia intervalul dorit apăsând tastele Ctrl + q și introduceți-l în cel filtrat - Ctrl + w .

Descărcați exemplu

(46,5 KiB, 9.622 descărcări)

Copiați numai celulele vizibile și inserați numai în celule vizibile
La cererea vizitatorilor site-ului, am decis să perfecționez această procedură. Acum este posibil să copiați orice intervale: cu rânduri ascunse, coloane ascunse și să lipiți celulele copiate și în orice intervale: cu rânduri ascunse, coloane ascunse. Funcționează exact la fel ca și precedentul: prin apăsarea tastelor Ctrl + q copiați intervalul dorit (cu rânduri și coloane ascunse/filtrate sau neascunse)și inserați cu o comandă rapidă de la tastatură Ctrl + w . Inserarea se face si in randuri si coloane ascunse/filtrate sau fara cele ascunse.
Dacă intervalul copiat conține formule, atunci pentru a evita deplasarea referinței, puteți copia numai valorile celulei - adică. La inserarea valorilor nu vor fi inserate formule, ci rezultatul calculului lor. Sau dacă este necesar să se păstreze formatele celulelor în care are loc inserarea, doar valorile celulelor vor fi copiate și lipite. Pentru a face acest lucru, trebuie să înlocuiți linia din cod (în fișierul de mai jos):

rCell.Copy rResCell.Offset(lr, lc)

rCell.Copy rResCell.Offset(lr, lc)

la acest:

rResCell.Offset(lr, lc) = rCell.Value

rResCell.Offset(lr, lc) = rCell.Value

Ambele linii sunt prezente în fișierul de mai jos, trebuie doar să o lăsați pe cea care este mai potrivită pentru sarcinile dvs.

Descărcați exemplu:

(54,5 KiB, 7.928 descărcări)


Vezi de asemenea:
[]

A ajutat articolul? Distribuie link-ul prietenilor tăi! Lecții video

("Bara de jos":("textstyle":"static","textpositionstatic":"bottom","textautohide":true,"textpositionmarginstatic":0,"textpositiondynamic":"bottomleft","textpositionmarginleft":24," textpositionmarginright":24,"textpositionmargintop":24,"textpositionmarginbottom":24,"texteffect":"slide","texteffecteasing":"easeOutCubic","texteffectduration":600,"texteffectslidedirection":"left","texteffectslidedistance" :30,"texteffectdelay":500,"texteffectseparate":false,"texteffect1":"slide","texteffectslidedirection1":"dreapta","texteffectslidedistance1":120,"texteffecteasing1":"easeOutCubic","texteffectduration1":600 ,"texteffectdelay1":1000,"texteffect2":"slide","texteffectslidedirection2":"dreapta","texteffectslidedistance2":120,"texteffecteasing2":"easeOutCubic","texteffectduration2":600,"texteffectdelay2,":1500,":1500, textcss":"display:block;text-align:left;","textbgcss":"display:absolute:#333333; ","titlecss":"display:block; poziție:relativă; font:bold 14px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; culoare:#fff;","descriptioncss":"display:block; poziție:relativă; font:12px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; culoare:#fff; margin-top:8px;","buttoncss":"display:block; poziție:relativă; margin-top:8px;","texteffectresponsive":true,"texteffectresponsivesize":640,"titlecssresponsive":"font-size:12px;","descriptioncssresponsive":"display:none !important;","buttoncssresponsive": "","addgooglefonts":false,"googlefonts":"","textleftrightpercentforstatic":40))

Dacă unele celule, rânduri sau coloane dintr-o foaie de lucru nu sunt vizibile, puteți copia toate celulele (sau doar celulele vizibile). În mod implicit, Excel copiază nu numai celulele vizibile, ci și celulele ascunse sau filtrate. Dacă doriți să copiați doar celule vizibile, urmați pașii de mai jos. De exemplu, puteți copia numai date rezumative dintr-o foaie de lucru structurată.

Urmați pașii de mai jos.

Notă: Când copiați, valorile sunt inserate secvențial în rânduri și coloane. Dacă zona de lipire conține rânduri sau coloane ascunse, poate fi necesar să le ascundeți pentru a vedea toate datele pe care le-ați copiat.

Când copiați și lipiți celule vizibile într-un interval de date care conține celule ascunse sau care are aplicat un filtru, este posibil să observați că celulele ascunse sunt lipite împreună cu celulele vizibile. Din păcate, nu puteți modifica această setare atunci când copiați și lipiți o serie de celule în Excel pentru web, deoarece Lipirea numai celulelor vizibile nu este disponibilă.

Cu toate acestea, dacă formatați datele ca tabel și aplicați un filtru, puteți copia și lipi doar celulele vizibile.

Dacă nu doriți să formatați datele ca tabel și aveți instalat Excel desktop, puteți deschide registrul de lucru în Excel pentru a copia și lipi celule vizibile. Pentru a face acest lucru, faceți clic pe butonul Deschideți în Excelși urmați pașii descriși în articol copiați și lipiți numai celule vizibile.

Informații suplimentare

Puteți oricând să puneți o întrebare de la Comunitatea Excel Tech, să cereți ajutor în comunitatea Răspunsuri sau să sugerați o nouă funcție sau îmbunătățire a site-ului