@elninoslov
Po napísaní akého znaku?
A nechci odo mňa, aby som vymýšľal prílohu. Obráť sa na zadávateľa problému.
Možno by sa dalo použiť aj CTRL+H. Je tam možnosť aj nahradiť format. Prečo by to muselo byť interaktívne makro?
Sub Makro()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Color = wdColorGreen
With Selection.Find
.Text = "ja"
.Replacement.Text = "ja"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Skús tieo makrá
Sub Makro1()
'červená
Call vyber(wdColorRed)
End Sub
Sub Makro2()
'zelená
Call vyber(wdColorGreen)
End Sub
Sub Makro3()
'hnedá
Call vyber(wdColorBrown)
End Sub
Sub vyber(farba As Long)
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
With Selection.Font
.Color = farba
End With
End Sub
Napíš si text nastav sa na pozíciu a spusti makro 1-3. Vyfarbí sa jeden znak.
Iné farby:
http://www.transcriber.ru/etudeseng/hlp_colors.htm
alebo ak chceš vyfarbiť vybrané slovo,
Tak
Sub vyber(farba As Long)
Selection.MoveLeft Unit:=wdWord, Count:=1
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
With Selection.Font
.Color = farba
End With
End Sub
@AL
@elninoslov
Ja som to tušil, že ty to dáš aj bez prílohy.
@AL
Tiež to vidím na makro. Kto mal na začiatku vedieť, že vzorce bude chcieť kopírovať? Obľubujem takéto úlohy, kde treba informácie "dolovať".
Keby si priložil súbor ako to má vyzerať, tak by ti to niekto už urobil. Ja si tie vzorečky sám vytvárať určite nebudem.
A čo príspevok, to ďalšie požiadavky. V poslednom chceš vzorce rozkopírovať. To sa nedalo napísať priamo do zadania? To má niekto upresňovať 15 krát, čo si zase vymyslíš?
Skús pozrieť funkciu SUMIF.
Alebo zruš automatický prepočet vzorcov. Nastav manuálny.
Moc by pomohla príloha.
Makro v prílohe nefunguje, je tam omylom.
Makro si tam musíš vložiť. Napísal som ho do textu.
Ak by si to chcel s kladnými, tak takto.
Public Function minrada(oblast As Range, kod As Integer)
' kod=0 počet
' kod=1 suma
Dim max As Single
Dim tmp As Single
max = 0
tmp = 0
stmp = 0
maxstmp = 0
For Each cell In oblast
If cell > 0 Then
tmp = tmp + 1
stmp = stmp + cell
End If
If cell < 0 Then
If tmp > max Then
max = tmp
If (maxstmp < stmp) Then maxstmp = stmp
End If
tmp = 0
stmp = 0
End If
Next
If kod = 0 Then
maxnrada = max
Else
maxnrada = maxstmp
End If
End Function
To makro si nepozrel?
Dal som aj makro, v predchádzajúcom príspevku. Je trochu neprehľadné s tými IF. Nie som na to veľmi pyšný, ale funguje. Nechce sa mi s tým viac zaoberať.
Ja som to tak aj pochopil. Snáď to je aj vidieť v príklade. Myslím, že si to vysvetlil dobre už na začiatku.
Alebo toto makro
Public Function maxnrada(oblast As Range, kod As Integer)
' kod=0 počet
' kod=1 suma
Dim max As Single
Dim tmp As Single
max = 0
tmp = 0
stmp = 0
maxstmp = 0
For Each cell In oblast
If cell < 0 Then
tmp = tmp + 1
stmp = stmp + cell
End If
If cell > 0 Then
If tmp > max Then
max = tmp
If (maxstmp > stmp) Then maxstmp = stmp
End If
tmp = 0
stmp = 0
End If
Next
If kod = 0 Then
maxnrada = max
Else
maxnrada = maxstmp
End If
End Function
@eLCHA
Téma: súčet mínusov za sebou medzi 2 kladnými hodnotam
Teda napríklad rad: 5,-2,0,-3,-4,-5,0,6
počet mínusových hodnôt medzi dvomi kladnými hodnotami je 4 a nie 6.
Viď https://cs.wikipedia.org/wiki/Kladn%C3%A9_a_z%C3%A1porn%C3%A9_%C4%8D%C3%ADslo
Samozrejme súhlasím s tým, že zadanie mohlo byť napísané zrozumiteľnejšie a nie ako nejaký rébus.
Pokiaľ ide o ten súčet, tak tie nuly nemajú na výsledok žiadny vplyv.
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.