ID tematu: 30798
 |
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
|
|
|
 |
|
|
|
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
|
|
|
 |
|
|
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
|
|
|
 |
|
|
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
|
|
|
 |
|
|
nicko1988 [Usunięty]
|
Wysłany: 29-06-2012, 13:02
|
|
|
Dziękuje, kłopot rozwiązany.
Pozdrawiam |
|
 | ID posta:
163345
|
|
|
 |
|
|
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.
Ponadto użycie pustego łańcucha wcale nie czyści komórek. Przekonasz się kiedyś o tym stosując ADO.
Ale gratki za pierwszą setuchnę.
Artik |
|
 | ID posta:
163390
|
|
|
 |
|
|
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 , 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
Dzięki Artik |
_________________ Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.
FB |
|
 | ID posta:
163400
|
|
|
 |
|
|
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
|
|
|
 |
|
|
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
|
|
|
 |
|
|
|
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
|
|
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
|