< návrat zpět

MS Excel


Téma: VBA smazání/nahrazení části textu z komentáře rss

Zaslal/a 24.5.2021 10:01

Dobrý den,
prosím o radu jak zapsat ve VBA příkaz pro smazání nebo nahrazení části textu ve všech komentářích.

Potřebuji napsat toto:

1. po určitém počtu znaků vše ostatní smazat (např. ABCDEFG - smazat vše od D, takže nechat jen první tři znaky)

2. smazat určitý text (např. ABCDEFG - smazat DEF)

3. smazat text ohraničený závorkou (např. AB(CD)EFG - smazat (CD) včetně závorky)

4. nahradit určitý text jiným (např. ABCDEFG - nahradit F číslem 7, ale F není ve všech komentářích na stejném místě)

Zaslat odpověď >

#050720
avatar
to znie ako domaca uloha :)citovat
#050724
avatar

Palooo napsal/a:

to znie ako domaca uloha :)


Úkol to není, do školy nechodím už spoustu let 5
Jen mám ráda Excel a snažím se naučit VBA, ale tohle se mi nedaří vydedukovat 1citovat
#050725
avatar
Třeba takto. Výsledky zapisuje do buňky.
Jinak mrkněte třeba sem: https://office.lasakovi.com/excel/vba-funkce-vzorce/Textove-funkce-ve-VBA-Excel/

Sub koment()

Range("B1").Value = Range("A1").Comment.Text
'1.
Range("B2").Value = Left(Range("A1").Comment.Text, 3)
'2.
Range("B3").Value = Replace(Range("A1").Comment.Text, "def", "")

'3.
Text = Range("A1").Comment.Text
Range("B4").Value = Left(Text, InStr(1, Text, "(") - 1) & Right(Text, Len(Text) - InStr(1, Text, ")"))

'4.
Range("B5").Value = Replace(Range("A1").Comment.Text, "f", "7")
End Sub
Příloha: zip50725_text.zip (14kB, staženo 14x)
citovat
#050726
avatar

Jiří497 napsal/a:

Třeba takto. Výsledky zapisuje do buňky.
Jinak mrkněte třeba sem: https://office.lasakovi.com/excel/vba-funkce-vzorce/Textove-funkce-ve-VBA-Excel/

[hr]Sub koment()

Range("B1").Value = Range("A1").Comment.Text
'1.
Range("B2").Value = Left(Range("A1").Comment.Text, 3)
'2.
Range("B3").Value = Replace(Range("A1").Comment.Text, "def", "")

'3.
Text = Range("A1").Comment.Text
Range("B4").Value = Left(Text, InStr(1, Text, "(") - 1) & Right(Text, Len(Text) - InStr(1, Text, ")"))

'4.
Range("B5").Value = Replace(Range("A1").Comment.Text, "f", "7")
End SubPříloha: 50725_text.zip (14kB, staženo 1x)


Děkuji, ale chtěla bych, aby se výsledek zapsal do komentáře... respektive, aby se v něm projevily změny.

Dokážu napsat makro na přepsání textu v komentáři, ale tohle se mi nedaří zapsat.

Makro na přepsání textu v komentáři:

Sub prepis_komentar()
'přepíše text v komentáři na text A+B

If ActiveCell.Comment Is Nothing Then

Else
ActiveCell.Comment.Text Text:="A+B"
End If
End Sub

Děkuji za odkaz, ale ještě se mi tam nepodařilo najít, jak to aplikovat na komentář, vše je zatím řešeno v buňkách.citovat
#050727
avatar
ActiveCell.Comment.Text Text:=Left(ActiveCell.Comment.Text, 3) nebo ActiveCell.Comment.Text Text:=Replace(ActiveCell.Comment.Text, "f", "7")citovat
#050728
avatar

Jiří497 napsal/a:

ActiveCell.Comment.Text Text:=Left(ActiveCell.Comment.Text, 3) nebo ActiveCell.Comment.Text Text:=Replace(ActiveCell.Comment.Text, "f", "7")


Super, moc děkuju 1
Zatím se mi podařilo rozchodit to první makro, s dalšími se zkusím poprat.citovat
#050729
avatar

summer85 napsal/a:

Jiří497 napsal/a:ActiveCell.Comment.Text Text:=Left(ActiveCell.Comment.Text, 3) nebo ActiveCell.Comment.Text Text:=Replace(ActiveCell.Comment.Text, "f", "7")

Super, moc děkuju
Zatím se mi podařilo rozchodit to první makro, s dalšími se zkusím poprat.


Ještě prosím jak makro uplatním na vybrané komentáře - např. mám je v buňkách A1:A20, ale pokaždé mi to změní jen na té buňce kterou označím první.citovat
#050730
Stalker
Např:
Sub prepis_komentar()
Dim Oblast As Range
Dim Bunka As Range
Set Oblast = Range("A1:A20")
For Each Bunka In Oblast
If Not Bunka.Comment Is Nothing Then
Bunka.Comment.Text Text:=Replace(Bunka.Comment.Text, "f", "7")
End If
Next Bunka
Set Oblast = Nothing
End Sub
citovat
#050731
avatar
Ještě záleží na tom, jak ta pravidla chcete uplatňovat. Jestli bude jen jedno pravidlo pro všechny buňky nebo na každou buňku jiné pravidlo nebo se bude podle něčeo vybírat...citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje