Zaslal/a Fantasyk 12.1.2025 5:27
Zdravím,
mám kód:
Dim myRange As Range, E()
Dim substr As String, endstr As String
Dim txtColor As Long, x As Long, y As Long, Pos As Long, endPos As Long, startPos As Long, LenEndStr As Long
Set myRange = Worksheets(Active).Range("E16:M138")
If myRange.Cells.Count > 1 Then E = myRange.Value Else ReDim E(1, 1): E(1, 1) = myRange.Value
substr = "Nezapsané prostoje-"
endstr = "min"
txtColor = 3
LenEndStr = Len(endstr)
For y = 1 To UBound(E, 1)
For x = 1 To UBound(E, 2)
Pos = 1
Do
startPos = InStr(Pos, E(y, x), substr, vbTextCompare)
If startPos <> 0 Then
endPos = InStr(startPos, E(y, x), endstr, vbTextCompare)
If endPos <> 0 Then
myRange.Cells(y, x).Characters(Start:=startPos, Length:=endPos - startPos + LenEndStr).Font.ColorIndex = txtColor
Pos = endPos + LenEndStr
End If
End If
Loop Until startPos = 0 Or endPos = 0
Next x
Next y
obarvuje mi to správně, ale chtěl bych přidat další "substr" aby mi to obarvovalo další častí kódu, ale jiné např. "substr2 = "Přechod" pod jinou barvou - např. txtColor2 = 3
Šlo by to nějak zkrátit ten kód, abych nemusel mít 2x za sebou stejný kód a jen upravené proměnné? těch barev a textu tam mam více.
elninoslov napsal/a:
Pr.Příloha: 57138_vyfarbi.zip (19kB, staženo 2x)
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.