Нумерация столбца с 19ой по ячейку с текстом "Составил:"
timo64uk
Дата: Понедельник, 11.10.2021, 15:28 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 96
Репутация:
1
±
Замечаний:
0% ±
Office16
Добрый день дамы и господа Есть макрос от buchlotnik (храню, пользуюсь) [vba]Код
[A19] = 1 Range("A20:A" & Range("B" & Rows.Count).End(xlUp).Row).FormulaR1C1 = "=IF(RC2="""","""",MAX(R19C1:R[-1]C)+1)"
[/vba] Но он ориентируется на последнюю не пустую ячейку столбца В. А мне нужно пронумеровать с А19ой и до ячейки содержащей текст "Составил:" в приложенном файле это ячейка А39. Т.е. А19 =1 .... А38 =20 А19=1 это неизменная константа, а вот значение "Составил:" может находится и в А21 и в А99999. Прошу вашего содействия в решении данного вопроса.
Добрый день дамы и господа Есть макрос от buchlotnik (храню, пользуюсь) [vba]Код
[A19] = 1 Range("A20:A" & Range("B" & Rows.Count).End(xlUp).Row).FormulaR1C1 = "=IF(RC2="""","""",MAX(R19C1:R[-1]C)+1)"
[/vba] Но он ориентируется на последнюю не пустую ячейку столбца В. А мне нужно пронумеровать с А19ой и до ячейки содержащей текст "Составил:" в приложенном файле это ячейка А39. Т.е. А19 =1 .... А38 =20 А19=1 это неизменная константа, а вот значение "Составил:" может находится и в А21 и в А99999. Прошу вашего содействия в решении данного вопроса. timo64uk
Сообщение отредактировал timo64uk - Понедельник, 11.10.2021, 15:58
Ответить
Сообщение Добрый день дамы и господа Есть макрос от buchlotnik (храню, пользуюсь) [vba]Код
[A19] = 1 Range("A20:A" & Range("B" & Rows.Count).End(xlUp).Row).FormulaR1C1 = "=IF(RC2="""","""",MAX(R19C1:R[-1]C)+1)"
[/vba] Но он ориентируется на последнюю не пустую ячейку столбца В. А мне нужно пронумеровать с А19ой и до ячейки содержащей текст "Составил:" в приложенном файле это ячейка А39. Т.е. А19 =1 .... А38 =20 А19=1 это неизменная константа, а вот значение "Составил:" может находится и в А21 и в А99999. Прошу вашего содействия в решении данного вопроса. Автор - timo64uk Дата добавления - 11.10.2021 в 15:28
Serge_007
Дата: Понедельник, 11.10.2021, 16:23 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Здравствуйте [vba]Код
Sub timo64uk() Dim i As Integer Dim LastRow As Long LastRow = WorksheetFunction.Match("Составил:", Range("a1:a1000"), 0) - 1 For i = 19 To LastRow ActiveSheet.Range("a" & i).Value = i - 18 Next i End Sub
[/vba]
Здравствуйте [vba]Код
Sub timo64uk() Dim i As Integer Dim LastRow As Long LastRow = WorksheetFunction.Match("Составил:", Range("a1:a1000"), 0) - 1 For i = 19 To LastRow ActiveSheet.Range("a" & i).Value = i - 18 Next i End Sub
[/vba] Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Здравствуйте [vba]Код
Sub timo64uk() Dim i As Integer Dim LastRow As Long LastRow = WorksheetFunction.Match("Составил:", Range("a1:a1000"), 0) - 1 For i = 19 To LastRow ActiveSheet.Range("a" & i).Value = i - 18 Next i End Sub
[/vba] Автор - Serge_007 Дата добавления - 11.10.2021 в 16:23
Gustav
Дата: Понедельник, 11.10.2021, 16:34 |
Сообщение № 3
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация:
1161
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Если следовать стилю первой редакции, то как-то так: [vba]Код
[A19] = 1 Range("A20:A" & Range("A20:A" & Rows.Count).Find("Составил").Row - 1).FormulaR1C1 = "=MAX(R19C1:R[-1]C)+1"
[/vba]
Если следовать стилю первой редакции, то как-то так: [vba]Код
[A19] = 1 Range("A20:A" & Range("A20:A" & Rows.Count).Find("Составил").Row - 1).FormulaR1C1 = "=MAX(R19C1:R[-1]C)+1"
[/vba] Gustav
МОИ: Ник , Tip box: 41001663842605
Ответить
Сообщение Если следовать стилю первой редакции, то как-то так: [vba]Код
[A19] = 1 Range("A20:A" & Range("A20:A" & Rows.Count).Find("Составил").Row - 1).FormulaR1C1 = "=MAX(R19C1:R[-1]C)+1"
[/vba] Автор - Gustav Дата добавления - 11.10.2021 в 16:34
Erjoma1981
Дата: Понедельник, 11.10.2021, 16:49 |
Сообщение № 4
Группа: Проверенные
Ранг: Участник
Сообщений: 66
Репутация:
25
±
Замечаний:
0% ±
Excel 2010, 2019
Еще вариант [vba]Код
Sub Перенумеровать() Dim ПерваяЯчейка As Range, КоличествоПронумерованных As Long Set ПерваяЯчейка = [A19] Application.ScreenUpdating = False ПерваяЯчейка.Value = 1 КоличествоПронумерованных = 1 Do While InStr(ПерваяЯчейка.Offset(КоличествоПронумерованных, 0).Value, "Составил:") = 0 КоличествоПронумерованных = КоличествоПронумерованных + 1 ПерваяЯчейка.Offset(КоличествоПронумерованных - 1, 0).Value = КоличествоПронумерованных Loop Application.ScreenUpdating = True End Sub
[/vba]
Еще вариант [vba]Код
Sub Перенумеровать() Dim ПерваяЯчейка As Range, КоличествоПронумерованных As Long Set ПерваяЯчейка = [A19] Application.ScreenUpdating = False ПерваяЯчейка.Value = 1 КоличествоПронумерованных = 1 Do While InStr(ПерваяЯчейка.Offset(КоличествоПронумерованных, 0).Value, "Составил:") = 0 КоличествоПронумерованных = КоличествоПронумерованных + 1 ПерваяЯчейка.Offset(КоличествоПронумерованных - 1, 0).Value = КоличествоПронумерованных Loop Application.ScreenUpdating = True End Sub
[/vba] Erjoma1981
Ответить
Сообщение Еще вариант [vba]Код
Sub Перенумеровать() Dim ПерваяЯчейка As Range, КоличествоПронумерованных As Long Set ПерваяЯчейка = [A19] Application.ScreenUpdating = False ПерваяЯчейка.Value = 1 КоличествоПронумерованных = 1 Do While InStr(ПерваяЯчейка.Offset(КоличествоПронумерованных, 0).Value, "Составил:") = 0 КоличествоПронумерованных = КоличествоПронумерованных + 1 ПерваяЯчейка.Offset(КоличествоПронумерованных - 1, 0).Value = КоличествоПронумерованных Loop Application.ScreenUpdating = True End Sub
[/vba] Автор - Erjoma1981 Дата добавления - 11.10.2021 в 16:49
timo64uk
Дата: Понедельник, 11.10.2021, 16:52 |
Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 96
Репутация:
1
±
Замечаний:
0% ±
Office16
Спасибо. Это просто изобилие. Очень рад.
Спасибо. Это просто изобилие. Очень рад. timo64uk
Ответить
Сообщение Спасибо. Это просто изобилие. Очень рад. Автор - timo64uk Дата добавления - 11.10.2021 в 16:52