Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 63769 Skopiuj do schowka Usuwanie/ukrywanie komórek za pomocą makro
Autor Wiadomość
ciekly
forumowicz


Posty: 21
Wysłany: 11-01-2019, 00:46   Usuwanie/ukrywanie komórek za pomocą makro

Witam, szukam pomocy z makrem. Chciałbym ukryć, usunąć niepotrzebne (puste) komórki z tabel za pomocą przycisku. Mógłbym usuwać je ręcznie, ale chaiłbym wiedzieć czy jest coś takiego możliwe przy pomocy makra. Posłużyło by mi to do formatowania tabel tak aby te niepotrzebne puste komórki by znikały. Załączam plik z przykładowymi danymi i pustymi komórkami, które powinny być usunięte. Byłbym wdzięczny za każdą pomoc.

Book1.xlsx
Pobierz Plik ściągnięto 19 raz(y) 9.02 KB

ID posta: 360208 Skopiuj do schowka
 
 
jkb1906 
Exceloholic


Wersja: Win Office 365
Pomógł: 29 razy
Posty: 133
Wysłany: 11-01-2019, 10:28   

Cześć,

Myślę, że samo sortowanie powinno rozwiązać Twój problem. Najpierw zaznacz wybraną tabelkę, a potem kliknij w niebieski przycisk.

Kod:
Sub sortuj()
Selection.Sort Key1:=Range(Selection(1).Address), Order1:=xlAscending, Header:=xlYes
End Sub


Book1.xlsm
Pobierz Plik ściągnięto 15 raz(y) 14.86 KB

ID posta: 360217 Skopiuj do schowka
 
 
Marecki 
Excel Expert



Wersja: Win Office 2019
Pomógł: 2085 razy
Posty: 6886
Wysłany: 11-01-2019, 10:42   

ciekly napisał/a:
Chciałbym ukryć, usunąć
To ukryć, czy usunąć ?
Może tak:
Kod:
Sub Usun()
    Dim Rng         As Range
    On Error Resume Next
    Set Rng = Application.InputBox("Zaznacz zakres", "Usuń", Type:=8)
    If Rng.Count > 1 Then Rng.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
End Sub
_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki.
ID posta: 360219 Skopiuj do schowka
 
 
Tajan


Pomógł: 4286 razy
Posty: 9527
Wysłany: 11-01-2019, 17:20   

Moja propozycja:
Kod:
Sub Usun()
    Dim Rng         As Range
    Dim Rw         As Range
   
    Do
        Set Rng = Nothing
       
        On Error Resume Next
        Set Rng = Application.InputBox("Zaznacz zakres", "Usuń puste wiersze", Type:=8)
        On Error GoTo 0
       
        If Rng Is Nothing Then Exit Sub
       
        If Rng.Count > 1 Then
           For Each Rw In Rng.Rows
                If Application.CountBlank(Rw) = Rw.Cells.Count Then
                   Rw.Delete Shift:=xlUp
                End If
           Next
        End If
    Loop
End Sub
ID posta: 360251 Skopiuj do schowka
 
 
ciekly
forumowicz


Posty: 21
Wysłany: 13-01-2019, 23:47   

Cześć, dzięki za pomoc. Drugie rozwiązanie bardziej mi odpowiada, ale wolałbym aby makro ukrywało komórki nie używane, a w razie potrzeby mógłbym wrócić do pełnej tabeli.
W takim przypadku potrzebował bym dwóch przycisków - "Ukryj puste" i "pokaż wszystkie". Tabele będą sformatowane, a komórki będą zbierać informacje z innych arkuszy więc nie chciałbym sortowania bo później i tak musiałbym poprawiąć formatowanie. Czy coś takiego jest możliwe?
ID posta: 360411 Skopiuj do schowka
 
 
umiejead 
Excel Expert


Pomógł: 258 razy
Posty: 1395
Wysłany: 14-01-2019, 00:57   

Proszsz...

@Tajan:
Trochę zmodyfikowałem obsługę błędów - przy zaznaczeniu całego arkusza: overflow.

@ciekly:
Niezbyt fortunnie rozmieściłeś dane... :mrgreen: .
.

Kopia Book1.xlsm
Pobierz Plik ściągnięto 11 raz(y) 23.54 KB

_________________
.
Jak poprawnie opisać problem: http://www.excelforum.pl/...ika-vt59262.htm
I dbajmy - proszę - o poprawną polszczyznę.
ID posta: 360412 Skopiuj do schowka
 
 
Tajan


Pomógł: 4286 razy
Posty: 9527
Wysłany: 14-01-2019, 09:14   

ciekly napisał/a:
wolałbym aby makro ukrywało komórki nie używane,

W Excelu można ukryć jedynie całe wiersze arkusza. Ukrywanie pojedynczych komórek w wierszu jest niemożliwe i z tego względu należałoby wszystkie tabelki umieścić jedna pod drugą aby ukrycie pustego wiersza w jednej z nich nie wpływało na tabelkę sąsiednią.
ID posta: 360419 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe