Zaslal/a summer85 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ě)
Palooo napsal/a:
to znie ako domaca uloha :)
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)
Jiří497 napsal/a:
ActiveCell.Comment.Text Text:=Left(ActiveCell.Comment.Text, 3) nebo ActiveCell.Comment.Text Text:=Replace(ActiveCell.Comment.Text, "f", "7")
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.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.