Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Range("A8")
.Value = "за период с " & Format(DateSerial(Year(Now), Month(Now) + 0, 0) + 1, "[$-FC22]« D » MMMM 20 YY г.") & " по " & Format(DateSerial(Year(Now), Month(Now) + 0, 0) + 10, "[$-FC22]« D » MMMM 20 YY г.")
a = Split(.Value, " ")
For i = 0 To UBound(a)
Select Case i
Case 4, 6, 8, 12, 14, 16
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
With Range("A19")
.FormulaR1C1 = "=""1.1. Обязательство Субагента перед Агентом по перечислению выручки," _
& " полученной от реализации перевозок по договору №____ от « 28 » августа 20 20 года," _
& " составляет""&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R13C15&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R14C15&"",""&"" без НДС."""
.Formula = .Value
a = Split(.Value, " ")
b=0 ' Вот тут
For i = 0 To UBound(a)
Select Case i
Case 0
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
End Sub
With Range("A19")
.FormulaR1C1 = "=""1.1. Обязательство Субагента перед Агентом по перечислению выручки," _
& " полученной от реализации перевозок по договору №___ от « 21 » августа 20 15 года," _
& " составляет""&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R13C15&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R14C15&"",""&"" без НДС."""
.Formula = .Value
a = Split(.Value, " ")
b=0
For i = 0 To UBound(a)
Select Case i
Case 0
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
так, чтобы форматировались слова не только разделенные пробелом, а ещё другим каким нибудь символом, допустим запятой или скобками?
With Range("A19")
.FormulaR1C1 = "=""1.1. Обязательство Субагента перед Агентом по перечислению выручки," _
& " полученной от реализации перевозок по договору №_____ от « 28 » августа 20 20 года," _
& " составляет""&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R13C15&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R14C15&"",""&"" без НДС."""
.Formula = .Value
Dim s As String
Dim v As Variant
s = .Value
For Each v In Array(",", "(", ")")
s = Replace(s, v, " ")
Next
a = Split(s, " ")
b = 0
For i = 0 To UBound(a)
Select Case i
Case 0
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
RAN, Андрей, ну тогда можно дойти до вставить в нужных местах что-то невидимое и по нему делить, например сhr(28). Тут вопрос вкуса, простоты, наглядности ..... но тогда и дату сформированную где-то в другой ячейке тоже надо делить.....
МатросНаЗебре, это код на данный момент у меня форматирует так "1.1. Обязательство Субагента перед Агентом по перечислению выручки, полученной от реализации перевозок по договору №____ от « 21 » августа 20 15 года, составляет 105 (сто пять рублей), без НДС". А мне нужно так "1.1. Обязательство Субагента перед Агентом по перечислению выручки, полученной от реализации перевозок по договору №19 – МАН от « 21 » августа 20 25 года, составляет 105 (сто пять рублей), без НДС." Получается Case 26 форматирует 105, а когда добавляю 27, у меня форматируется так "1.1. Обязательство Субагента перед Агентом по перечислению выручки, полученной от реализации перевозок по договору №____ от « 28 » августа 20 15 года, составляет 105(сто пять рублей), без НДС.", как сделать, чтобы форматировалось то, что находится в скобках, а "не без НДС."?
Код
.With Range("A19")
.FormulaR1C1 = "=""1.1. Обязательство Субагента перед Агентом по перечислению выручки," _
& " полученной от реализации перевозок по договору №____ от « 21 » августа 20 15 года," _
& " составляет""&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R13C15&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R14C15&"",""&"" без НДС."""
.FormulaR1C1 = .Value
Dim s As String
Dim v As Variant
s = .Value
For Each v In Array("(", ")")
s = Replace(s, v, " ")
Next
a = Split(s, " ")
b = 0
For i = 0 To UBound(a)
Select Case i
Case 26, 27
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
With Range("A19")
.FormulaR1C1 = """1.1. Обязательство Субагента перед Агентом по перечислению выручки," _
& " полученной от реализации перевозок по договору №____ от « 28 » августа 20 20 года," _
& " составляет""&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R13C15&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R14C15&"",""&"" без НДС."""
.FormulaR1C1 = .Value
Dim s As String
Dim v As Variant
s = .Value
For Each v In Array("(", ")")
s = Replace(s, v, Chr(160))
Next
Dim a As Variant
a = Split(s, Chr(160))
Dim b As Long
Dim i As Long
b = 0
For i = 0 To UBound(a)
Select Case i
Case 1
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
With Range("A19")
.FormulaR1C1 = "=""1.1. Обязательство Субагента перед Агентом по перечислению выручки," _
& " полученной от реализации перевозок по договору №_____ от « 28 » августа 20 20 года," _
& " составляет""&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R13C15&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R14C15&"",""&"" без НДС."""
.FormulaR1C1 = .Value
Dim s As String
Dim v As Variant
s = .Value
For Each v In Array("(", ")")
s = Replace(s, v, Chr(160))
Next
'Dim a As Variant
a = Split(s, Chr(160))
Dim b As Long
Dim i As Long
b = 0
For i = 0 To UBound(a)
Select Case i
Case 1
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
With Range("A19")
.FormulaR1C1 = "=""1.1. Обязательство Субагента перед Агентом по перечислению выручки," _
& " полученной от реализации перевозок по договору №19 – МАН от « 21 » августа 20 15 года," _
& " составляет""&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R13C15&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R14C15&"",""&"" без НДС."""
.FormulaR1C1 = .Value
Dim s As String
Dim v As Variant
s = .Value
For Each v In Array("(", ")")
s = Replace(s, v, Chr(160))
Next
'Dim a As Variant
a = Split(s, Chr(160))
Dim b As Long 'b As Long ошибку выдаёт
Dim i As Long
b = 0
For i = 0 To UBound(a)
Select Case i
Case 1
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
МатросНаЗебре, Я, правда, имел ввиду немного не так С формулой возиться лень, поэтому Value
Код
Sub Макрос1()
With Range("A19")
' .FormulaR1C1 = "=""1.1. Обязательство Субагента перед Агентом по перечислению выручки," _
' & " полученной от реализации перевозок по договору №___ от « 28 » августа 20 20 года," _
' & " составляет""&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R13C15&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R14C15&"",""&"" без НДС."""
.FormulaR1C1 = "1.1. Обязательство Субагента перед Агентом по перечислению выручки, полученной от реализации перевозок по договору" & _
Chr(160) & "№13 – САГ" & Chr(160) & "от « 28 » августа 20" & Chr(160) & "20" & Chr(160) & "года, составляет" _
& Chr(160) & "105 (сто пять рублей)" & ", без НДС."
Dim s As String
Dim v As Variant
s = Replace(Replace(Replace(Replace(.Value, "(", Chr(160)), ")", Chr(160)), Chr(171), Chr(160)), Chr(187), Chr(160))
' For Each v In Array("(", ")")
' s = Replace(s, v, " ")
' Next
a = Split(s, Chr(160))
b = 0
For i = 0 To UBound(a)
Select Case i
Case 1, 3, 5, 7, 8
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
End Sub
With Range("A19")
.FormulaR1C1 = "=""1.1. Обязательство Субагента перед Агентом по перечислению выручки," _
& " полученной от реализации перевозок по договору №___ от « 21 » августа 20 15 года," _
& " составляет""&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R13C15&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R14C15&"",""&"" без НДС."""
.Formula = .Value
a = Split(Replace(.Value, "(", " "), " ")
b = 0
For i = 0 To UBound(a)
Select Case i
Case 26, 27
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
Просто, так у меня форматируется в таком виде "1.1. Обязательство Субагента перед Агентом по перечислению выручки, полученной от реализации перевозок по договору №19 – МАН от « 19 » августа 20 15 года, составляет 210(двести десять рублей), без НДС.", а как сделать так, чтобы форматировалось таким образом "1.1. Обязательство Субагента перед Агентом по перечислению выручки, полученной от реализации перевозок по договору №19 – МАН от « 21 » августа 20 15 года, составляет 210 (двести десять рублей), без НДС."
МатросНаЗебре, просто код в сообщении #44 форматирует только то, что в скобках, а мне нужно еще и другие символы, можно как то совместить, чтобы форматировалось, то что в скобках, так же символы разделенные пробелом?
МатросНаЗебре, это код работает, форматируя то, что внутри скобок
Код
With Range("A19") .FormulaR1C1 = "=""1.1. Обязательство Субагента перед Агентом по перечислению выручки," _
& " полученной от реализации перевозок по договору №____ от « 21 » августа 20 15 года," _
& " составляет""&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R13C15&"" ""&'[Реестр грузовых авианакладных копия1.xlsm]Итоговая декада'!R14C15&"",""&"" без НДС."""
.FormulaR1C1 = .Value
Dim s As String
Dim v As Variant
s = .Value
For Each v In Array("(", ")")
s = Replace(s, v, Chr(160))
Next
a = Split(s, Chr(160))
b = 0
For i = 0 To UBound(a)
Select Case i
Case 1
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
но мне нужно ещё чтобы форматировались символы разделенные пробелом и когда добавляю пробел в эту строку
Код
For Each v In Array("(", ")"," ")
у меня получается тогда, что эта строка
Код
Case 1
форматирует символы разделенные пробелом по порядку, начиная от нуля. Если задать Case 27, то форматируется то, что внутри скобок, но проблема, в том, что форматируется символы находящиеся в скобках, а также те символы, которые идут за ними, а мне нужно, чтобы форматировались символы заданные мною в Case.
МатросНаЗебре, можете помочь, у меня дата в таком формате "№6 от 30 июня 20 21 г.", форматирую макросом хочу, чтобы "30 июня" было в таком виде "30 июня", вроде я в этой строке кода "For Each v In Array("от", "20")", указал, чтобы форматировалось то, что находится между "от" и "20", но в результате макрос форматирует так "№ 6 от 30 июня 20 21 г.", что я не так делаю?
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Range("A8")
.Value = "№" & Format(DateSerial(Year(Now), Month(Now) + 0, 0) + 1, "[$-FC22] M ") & "от" & Format(DateSerial(Year(Now), Month(Now) + 1, 1) - 1, "[$-FC22] D MMMM 20 YY г.")
Dim s As String
Dim v As Variant
s = .Value
For Each v In Array("от", "20")
s = Replace(s, v, Chr(160))
Next
a = Split(s, Chr(160))
b = 0
For i = 0 To UBound(a)
Select Case i
Case 1
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
End Sub
БМВ, Этот код у меня форматирует дату в таком виде: "№6 от 30 июня 20 21 г." получается, что у меня форматируются пробелы, которые после слова "от" и перед числом "20". Как сделать так, чтобы эти пробелы не форматировались?
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)With Range("A8")
.Value = "№" & Format(DateSerial(Year(Now), Month(Now) + 0, 0) + 1, "[$-FC22]M") & " от " & Format(DateSerial(Year(Now), Month(Now) + 1, 1) - 1, "[$-FC22]D MMMM 20 YY г.")
Dim s As String
Dim v As Variant
s = .Value
For Each v In Array("т", "2")
s = Replace(s, v, Chr(160))
Next
a = Split(s, Chr(160))
b = 0
For i = 0 To UBound(a)
Select Case i
Case 1
With .Characters(b + 1, Len(a(i))).Font
.Italic = True
.Underline = True
End With
End Select
b = b + Len(a(i)) + 1
Next
End With
End Sub