Задача такая. Соединить каждую ячейку первого выбранного столбца с каждой ячейкой следующего выбранного столбца. Например, есть столбцы а б кака зеленая бяка белая
а на следующем листе таблицы должно получиться а кака зеленая кака белая бяка зеленая бяка белая
Есть форма, в которую загружаются чекбоксы с названиями всех столбцов на листе - для выбора нужных столбцов, которые будут соединяться. Плюс также им соответствуют текстбоксы, в которых можно указать порядок соединения столбцов. Есть кнопка, по клику на которую на следующем листе все соединяется. Пример и код прикрепляю. Знаю, что соединение реализуется через &, но не знаю, как это все описать(( Подскажите плиз..
Код
Private Sub
CommandButton1_Click()
End Sub
Private Sub UserForm_Initialize()
Dim i, n As Integer
n = Sheets("Лист1").Cells(1, 1).CurrentRegion.Rows.Count
For i = 1 To n
Dim Mycmd As Control
Dim Mycmd1 As Control
Set Mycmd = Controls.Add("Forms.CheckBox.1")
Set Mycmd1 = Controls.Add("Forms.TextBox.1")
With Mycmd
.Height = 18
.Left = 10
.Top = i * 20
.Width = 90
.Caption = Sheets("Лист1").Cells(1, i).Value
.Name = "CheckBox" & i
.Value = "True"
End With
With Mycmd1
.Height = 18
.Left = 80
.Top = i * 20
.Width = 90
.Value = i
.Name = "TextBox" & i
End With
Next i
End Sub
Может вы тогда еще кое-что подскажите?) Хочу в массив запихнуть количество заполненных ячеек в каждом столбце. На мой код ругается, что я пишу не так?
Код
n = Sheets("Лист1").UsedRange.Column + Sheets("Лист1").UsedRange.Columns.Count - 1
For ii = 1 To n
R(ii) = Sheets("Лист1").Cells(Rows.Count, ii).End(xlUp).Row
Next
Пробуйте так. Но за вопрос не по теме могут наругать
Код
Dim r()
n = Sheets("Лист1").UsedRange.Column + Sheets("Лист1").UsedRange.Columns.Count - 1
ReDim r(n - 1)
For ii = 0 To n - 1
r(ii) = Sheets("Лист1").Cells(Rows.Count, ii + 1).End(xlUp).Row
Next
JayBhagavan, я не оспариваю целесообразность данного правила. Да, и в целом правила данного форума мне импонируют. Ответил в контексте. Может спасибо получу от ТС