< návrat zpět
MS Excel
Téma: Vymazání obsahu buňky když obsahuje frázi
Zaslal/a PavelJ 11.10.2022 12:16
Prosím o radu, když buňka obsahuje určitou frázi, nebo slovo, např "neděle", dojde k jejímu vymazání. Děkuji
elninoslov(11.10.2022 13:22)#053611 Má prísť k vymazaniu len tej frázy alebo všetkého v bunke? Akej oblasti sa to týka? Jednej bunky? Kontrola hneď pri zadávaní vo Worksheet_Change, alebo neskôr jednorázovo na klik tlačítka?
citovat
lubo(11.10.2022 13:37)#053612 ctrl-F, zadat frázi, najít vše, ctrl-A, del
citovat
PavelJ(11.10.2022 15:53)#053614 V A1 mám například větu zítra bude neděle. V A2 mám pozítří bude pondělí. V A3 mám Včera neděle byla. A já potřebuju ideálně tlačítkem vymazat celý obsah buněk, které obsahují slovo neděle. V tomto případě tedy A1, A3.
citovat
elninoslov(11.10.2022 17:37)#053616 Nástrel. Na konci si vyberte, čo sa má udiať.
Sub Smazat_Bunky_S_Frazi()
Dim Fraze As String
Dim RNG_SMAZ As Range, Oblast As Range
Dim Radku As Long, Sloupcu As Integer, r As Long, s As Integer
Dim D()
Sloupcu = 1
With wsData
Fraze = .Range("C2").Value
If Fraze = "" Then MsgBox "Žádná fráze.", vbExclamation: Exit Sub
Radku = .Cells(Rows.Count, "A").End(xlUp).Row
Set Oblast = .Range("A1").Resize(Radku, Sloupcu)
If Radku + Sloupcu = 2 Then ReDim D(1 To 1, 1 To 1): D(1, 1) = Oblast.Value Else D = Oblast.Value
For r = 1 To Radku
For s = 1 To Sloupcu
If InStr(1, D(r, s), Fraze, vbTextCompare) > 0 Then
If RNG_SMAZ Is Nothing Then Set RNG_SMAZ = Oblast.Cells(r, s) Else Set RNG_SMAZ = Union(RNG_SMAZ, Oblast.Cells(r, s))
End If
Next s
Next r
End With
If RNG_SMAZ Is Nothing Then
MsgBox "Fráze """ & Fraze & """ nebyla v oblasti " & Oblast.Address(0, 0) & " nalezena.", vbInformation
Else
RNG_SMAZ.Select 'pouze označí nalezené
'RNG_SMAZ.ClearContents 'smaže pouze hodnoty, formát a buňky zůstanou
'RNG_SMAZ.Clear 'smaže hodnoty i formáty, buňky zůstanou
'RNG_SMAZ.Delete Shift:=xlUp 'odstraní buňky, zbytek posune nahoru
End If
End Subcitovat
PavelJ(11.10.2022 19:01)#053617
PavelJ(11.10.2022 19:47)#053618 Elninoslave, prosím mohl byste mi to hodit do nějakého vzoru? Píše mi to chybu a já nevím, co přesně znamená. Děkuji
Fraze = .Range("C2").Value
citovat
elninoslov(11.10.2022 19:59)#053619 Ja niekedy fakt ani neviem, ako mám reagovať. Myslíte do ešte iného vzoru, ako je ten v prílohe stiahnutý 0 krát ?!?!
citovat
PavelJ(12.10.2022 6:16)#053621 Omlouvám se, když jsem viděl ten kód, už jsem moc nekoukal dolů. Funguje perfektně. Moc díky
citovat