Первый раз форма работает отлично. После добавления строки и, соответственно, перезагрузки формы, перестает видеть третий раздел (маркер "S" стоит). То есть первый раз ReDim a_allPos(0 to 2, ...), после a_allPos(0 to 1, ...)
Код
Private Sub UserForm_Activate()
Dim LRow&
Dim b_m1 As Boolean
Dim counterA%, counterB%
Erase a_allPos(): Erase a_allSec()
LRow = Sheets("ADM").Cells(Rows.Count, 1).End(xlUp).Row
counterA = 8: txt1 = "Раздел: "
counterB = 0: txt2 = "Делитель"
txt3 = Sheets("ADM").Cells(counterA, 1)
For counterA = 8 To LRow
txt4 = Sheets("ADM").Cells(counterA, 2)
If txt4 = "S" Then counterB = counterB + 1 'Маркер присутствует
counterA = counterA + 1
Next
ReDim a_allPos(0 To counterB - 1, LRow + 1) 'Здесь не видит третий раздел после перезагрузки формы
a_allPos(0, 0) = txt1 & txt3
ReDim a_allSec(counterB - 1)
counterA = 8
counterB = 0
counterC = 0: b_m1 = True
Do Until counterA = LRow + 1
txt3 = Sheets("ADM").Cells(counterA, 1)
txt4 = Sheets("ADM").Cells(counterA, 2)
counterA = counterA + 1
Select Case txt4
Case "S"
counterC = 0
If b_m1 = False Then
counterB = counterB + 1
End If
b_m1 = False
a_allPos(counterB, 0) = txt1 & txt3 ' ошибку выдает в этой строке когда counterB=2
a_allSec(counterB) = txt3
Case "P"
counterC = counterC + 1
a_allPos(counterB, counterC) = txt3
Case "!"
counterC = counterC + 1
a_allPos(counterB, counterC) = txt2
End Select
Loop
---------Добавляю так------------------------------
Rows(counterC).Insert: Rows(counterC).RowHeight = 15
Sheets("ADM").Cells(counterC, 2) = "P"
Call ShowF_Create_Macro
Sub ShowF_Create_Macro() 'макрос на перезагрузку формы
Unload F_Create
F_Create.Show
End Sub
Файл естественно прилагаю. Если кто решится помочь, то нужная форма F_Create Заранее благодарен
vikttur написал: Название темы должно отражать проблему. Предложите новое. Модераторы заменят
Если бы я знал какое, то, безусловно замел бы. Если проблема решится, я обязательно это сделаю и укажу в заголовке проблему. Сейчас я её не могу конкретизировать
Вы не знаете в чём заключается проблема? Это ВЫ должны придумать название, из которого будет понятна задача. По поводу прикреплённого файла: это не пример. Это рабочий файл. Зачем для решения Вашего вопроса в файле ещё куча форм? Зачем там куча модулей? Создайте именно пример. Пример - это небольшой файл лишь с теми данными (элементами), которые нужны для решения конкретной задачи. Всё остальное потенциальным помощниками абсолютно не нужно. И удалите чёрную заливку ячеек - зачем усложнять помогающим читать данные?