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: 30798 Skopiuj do schowka Makro usuwające konkretną wartość z kolumny
Autor Wiadomość
nicko1988
[Usunięty]

Wysłany: 29-06-2012, 08:41   Makro usuwające konkretną wartość z kolumny

Witam,

Mam taki problem. Potrzebowałbym makro, które usunie mi wartość X z danej kolumny.

Na zasadzie takiej, że wpisuję sobie w kodzie wartość np. "100" i makro usunie z danej kolumny wszystkie wartości, które są 100 i zostawi puste pole.

Kolumna niech dla przykładu będzie A i ilość wierszy 100.

Pozdrawiam i z góry dziękuje za pomoc.
ID posta: 163327 Skopiuj do schowka
 
 
pitermxa 
Exceloholic


Pomógł: 32 razy
Posty: 143
Wysłany: 29-06-2012, 08:48   

Kod:

Sub usu()
For Each el In Range("A:A")
If el.Value = 100 Then
el.Value = ""
End If
Next el
End Sub
ID posta: 163328 Skopiuj do schowka
 
 
Zmora 
Excel Expert



Zaproszone osoby: 1
Pomógł: 1154 razy
Posty: 2736
Wysłany: 29-06-2012, 08:50   

Albo:

Kod:
Option Explicit

Sub kasuj()
Dim a As Integer, i As Long, liczba As Double
a = Cells(Rows.Count, "A").End(xlUp).Row

liczba = Application.InputBox("Podaj liczbe", Type:=1)

For i = 1 To a
    If Cells(i, "A").Value = liczba Then Cells(i, "A").ClearContents
Next i
End Sub
_________________
Maciej

– To wódka? – słabym głosem zapytała Małgorzata.(...)
– Na litość boską, królowo – zachrypiał – czy ośmieliłbym się nalać damie wódki? To czysty spirytus.
Michaił Bułhakow – Mistrz i Małgorzata
Ostatnio zmieniony przez Zmora 29-06-2012, 09:12, w całości zmieniany 1 raz  
ID posta: 163329 Skopiuj do schowka
 
 
Marecki 
Excel Expert



Wersja: Win Office 2021
Pomógł: 2645 razy
Posty: 8828
Wysłany: 29-06-2012, 08:56   

nicko1988, takie makro możesz sobie nagrać.
Zaznacz daną kolumnę lub zakres w jakim chcesz usunąć daną wartość -> Ctrl+H w znajdź podajesz wartość do zamiany w zamień na nic nie wpisujesz i to wszystko.
Po nagraniu kodu i usunięciu zbędnych selectów zostaje:
Kod:
Sub usun()
    Range("A1:A100").Replace "100", ""
End Sub
_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

FB
ID posta: 163331 Skopiuj do schowka
 
 
nicko1988
[Usunięty]

Wysłany: 29-06-2012, 13:02   

Dziękuje, kłopot rozwiązany.

Pozdrawiam
ID posta: 163345 Skopiuj do schowka
 
 
Artik 
Artik



Wersja: Win Office 365
Pomógł: 3268 razy
Posty: 10789
Wysłany: 30-06-2012, 00:45   

mkkk23, nie, no kod działa świetnie! szczególnie na liczby np. 1100; 1005; 1000; 0,1003. :lough

Ponadto użycie pustego łańcucha wcale nie czyści komórek. :shock: Przekonasz się kiedyś o tym stosując ADO. :-)

Ale gratki za pierwszą setuchnę. :beer


Artik
ID posta: 163390 Skopiuj do schowka
 
 
Marecki 
Excel Expert



Wersja: Win Office 2021
Pomógł: 2645 razy
Posty: 8828
Wysłany: 30-06-2012, 12:38   

Artik, fakt działa rewelacja :oops: , a ja się cieszyłem z tak krótkiego kodu.
Mania skracania. Zabrakło jedynki na końcu
Kod:
Range("A1:A100").Replace "100", "", 1

Dobrze że są takie osoby na forum co kontrolują amatorów :mrgreen:
Dzięki Artik
_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

FB
ID posta: 163400 Skopiuj do schowka
 
 
Artik 
Artik



Wersja: Win Office 365
Pomógł: 3268 razy
Posty: 10789
Wysłany: 30-06-2012, 20:53   

mkkk23 napisał/a:
Zabrakło jedynki na końcu
może lepiej zamiast jedynki wpisywać nazwę stałej, np. xlWhole. Kiedy stosujesz "gołe liczby", niewiele one mówią czytającemu kod. Natomiast kiedy wpiszesz nazwę stałej, na ogół wiadomo o co chodzi.
Nabieraj tego nawyku.

Co do samej metody Replace.
Czytamy w helpie
Cytat:
Remarks

The settings for LookAt, SearchOrder, MatchCase, and MatchByte are saved each time you use this method. If you don’t specify values for these arguments the next time you call the method, the saved values are used. Setting these arguments changes the settings in the Find dialog box, and changing the settings in the Find dialog box changes the saved values that are used if you omit the arguments. To avoid problems, set these arguments explicitly each time you use this method.
Tak więc, w tym przypadku, zero skrótów. :-)

mkkk23 napisał/a:
a ja się cieszyłem z tak krótkiego kodu.
Nie przejmuj się za bardzo. Mnie też się zdarza. :-)

Artik
ID posta: 163430 Skopiuj do schowka
 
 
Marecki 
Excel Expert



Wersja: Win Office 2021
Pomógł: 2645 razy
Posty: 8828
Wysłany: 30-06-2012, 21:24   

Wielkie dzięki Artik, za pouczenie.
"Mania skracania" nie zawsze jest wskazana.
Sam się dopiero uczę i faktyczne tak zapisane polecenie za wiele by mi nic nie mówiło, jak bym nie przeczytał jakiejś tam książki , czy wiadomości z sieci.
A o "Replace" doszedłem do tego po Twoim poście nr id 163390 na zasadzie prób i błędów.
Jeszcze raz wielkie dzięki.
_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

FB
ID posta: 163432 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.wip.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