Я недавно начал работать с макросами вроде получается, но встретился с одной проблемой никак не решу, и на сайтах не нахожу. Нужно сделать так, чтобы 1)при нажатии на Checkbox текст на Листе3 "приплюсовывался" к тому тексту, что уже отмечен.(соображения есть может как переменную string задать и в неё всё добавлять, но тут нужно чтобы всё в одном большом коде было, что я пока тоже не соображу как). Т.е. при отметке одного checkbox красовалась надпись: "Саморез длинный 3 шт = 15 руб " 2)нельзя чтобы на Листе3 менялась ширина столбцов, количество, т.к. это бланк. Опять же наверняка как-то можно задать, либо через количество символов в словах, либо как-то ограничить до стобца Z.(пробовал через len не получилось) 3)Таких checkbox 15 штук.(может что подскажите в плане оптимизации)
Заранее всем тем кто поучаствует спасибо большое!
Я недавно начал работать с макросами вроде получается, но встретился с одной проблемой никак не решу, и на сайтах не нахожу. Нужно сделать так, чтобы 1)при нажатии на Checkbox текст на Листе3 "приплюсовывался" к тому тексту, что уже отмечен.(соображения есть может как переменную string задать и в неё всё добавлять, но тут нужно чтобы всё в одном большом коде было, что я пока тоже не соображу как). Т.е. при отметке одного checkbox красовалась надпись: "Саморез длинный 3 шт = 15 руб " 2)нельзя чтобы на Листе3 менялась ширина столбцов, количество, т.к. это бланк. Опять же наверняка как-то можно задать, либо через количество символов в словах, либо как-то ограничить до стобца Z.(пробовал через len не получилось) 3)Таких checkbox 15 штук.(может что подскажите в плане оптимизации)
Заранее всем тем кто поучаствует спасибо большое! abra-kadabra
текст на Листе3 "приплюсовывался" к тому тексту, что уже отмечен
А это трудно, показать на Листе3 как это должно выглядеть. А вот вместо Checkbox можно применить любой символ, ну или ту же галочку, кликом мышки на ячейке нужной строки.
текст на Листе3 "приплюсовывался" к тому тексту, что уже отмечен
А это трудно, показать на Листе3 как это должно выглядеть. А вот вместо Checkbox можно применить любой символ, ну или ту же галочку, кликом мышки на ячейке нужной строки.Wasilich
аааа...дошло с помощью шрифтов) да можно, но честно говоря я полез в эти дебри чтоб с vba разобраться(изначально я так и ставил из этих последних шрифтов - там галочки даже нескольких типов). Это я так думаю не столь важно, так как это этап пройденный, а вот дальше проблемы. Примерно сделал как должно быть.
аааа...дошло с помощью шрифтов) да можно, но честно говоря я полез в эти дебри чтоб с vba разобраться(изначально я так и ставил из этих последних шрифтов - там галочки даже нескольких типов). Это я так думаю не столь важно, так как это этап пройденный, а вот дальше проблемы. Примерно сделал как должно быть.abra-kadabra
Wasilic спасибо большое, ваш пример очень пригодился. Хоть в другой книге, но всё же. alex77755 спасибо. Вот оно! Я просто не знал как это организовать в плане кода(я про массивы). А по поводу вставки текста вы меня не совсем поняли. Давайте я ещё раз переделаю файл, чтоб наглядней было. Я до этого написал, что их 15 штук будет - в столбец не поместятся(и в файле написал от куда до куда). А как их растянуть на три строчки(с R14 до А22 - вот в чём вопрос. Большой вопрос. Уж извините стараюсь формулировать как можно понятней.
Wasilic спасибо большое, ваш пример очень пригодился. Хоть в другой книге, но всё же. alex77755 спасибо. Вот оно! Я просто не знал как это организовать в плане кода(я про массивы). А по поводу вставки текста вы меня не совсем поняли. Давайте я ещё раз переделаю файл, чтоб наглядней было. Я до этого написал, что их 15 штук будет - в столбец не поместятся(и в файле написал от куда до куда). А как их растянуть на три строчки(с R14 до А22 - вот в чём вопрос. Большой вопрос. Уж извините стараюсь формулировать как можно понятней.abra-kadabra
спасибо RAN нашёл. Выкладываю что получилось. Последний вопрос. А можно, чтоб такой же результат, но через vba? И если да то как? Ссылку или файл с кодом, чтоб я понял что и откуда растет у vba.
спасибо RAN нашёл. Выкладываю что получилось. Последний вопрос. А можно, чтоб такой же результат, но через vba? И если да то как? Ссылку или файл с кодом, чтоб я понял что и откуда растет у vba.abra-kadabra
Private Sub ИТОГ() Dim i, q, S, T, M, D, RZ As Range Dim D1, D2 D1 = 25 ' D2 = 77 'с этими цыхерками можно поиграть если изменится шрифт For i = 1 To 4 If Лист1.Shapes("CheckBox" & i).OLEFormat.Object.Object Then If Range("Сум" & i).Value > 0 Then T = Range("Комлект" & i).Value & " " & Range("Кол" & i).Value & " шт = " & Range("Сум" & i).Value & " руб." S = IIf(Len(S) = 0, T, S & " " & T) End If End If Next Range("Всего") = S M = Split(S) S = "" D = D1 q = 1 Лист3.Range("Всего1") = "" Лист3.Range("Всего2") = "" Лист3.Range("Всего3") = "" For i = 0 To UBound(M) If Len(S) + 1 + Len(M(i)) > D Then Debug.Print S Set RZ = Лист3.Range("Всего" & q) RZ = "'" & S q = q + 1 If q > 3 Then MsgBox "Нет больше строчек в бланке!", vbCritical, "": Exit Sub End If D = D2 S = M(i) & " " Else S = S & M(i) & " " End If Next i If Len(S) > 0 Then Set RZ = Лист3.Range("Всего" & q) RZ = "'" & S End If End Sub
[/vba]
Можно как-то так [vba]
Код
Private Sub ИТОГ() Dim i, q, S, T, M, D, RZ As Range Dim D1, D2 D1 = 25 ' D2 = 77 'с этими цыхерками можно поиграть если изменится шрифт For i = 1 To 4 If Лист1.Shapes("CheckBox" & i).OLEFormat.Object.Object Then If Range("Сум" & i).Value > 0 Then T = Range("Комлект" & i).Value & " " & Range("Кол" & i).Value & " шт = " & Range("Сум" & i).Value & " руб." S = IIf(Len(S) = 0, T, S & " " & T) End If End If Next Range("Всего") = S M = Split(S) S = "" D = D1 q = 1 Лист3.Range("Всего1") = "" Лист3.Range("Всего2") = "" Лист3.Range("Всего3") = "" For i = 0 To UBound(M) If Len(S) + 1 + Len(M(i)) > D Then Debug.Print S Set RZ = Лист3.Range("Всего" & q) RZ = "'" & S q = q + 1 If q > 3 Then MsgBox "Нет больше строчек в бланке!", vbCritical, "": Exit Sub End If D = D2 S = M(i) & " " Else S = S & M(i) & " " End If Next i If Len(S) > 0 Then Set RZ = Лист3.Range("Всего" & q) RZ = "'" & S End If End Sub