Страницы: Пред. 1 2 3 След.
RSS
Назначение фигурам - таблиц-диапазонов на вылетающей форме
 
Цитата
Юрий М написал:
Да Вы даже саму форму не нарисовали...  В каком виде Вы представляете себе таблицу на форме, чтобы из этой таблицы можно было что-то копировать?
Вот таблица на форме (таблица, а не картинка таблицы) - в моем представлении.
(Обычная простая таблица - без каких-то наворотов, раскрашиваний, рисунков и т.д. - только не на листе, а на форме)

(ну если нельзя вынести прямо кусок экселевского листа - как Spreadsheet - на форму,  то хотя бы как набор textboxов : два текстбокса в ширину и три текстбокса в высоту.  Я не разбираюсь в этих activex-элементах, но наверно есть там какие-то инструменты чтобы таблицу нарисовать)
Изменено: plank1433 - 23.09.2020 23:47:39
 
а к чему этот цирк?
что мешает скопировать ячейки непонятно какого адреса с листа?
а) не нужно никакой формы
б) ее наполнения
в) и процесса копирования непонятно чего и как
на листе отметили  диапазон Ctrl+C - скопировано, что еще?

кому и как этот гемеррой поможет управлять данными, с учетом того что ввы не понимаете как ими управлять, а я, например, не понимаю для чего все эти потуги?
чего добиваемся? каких особых удобств
какие неудобства уже нажили - понятно, какие еще предстоит преодолеть не совсем, еще совершенно открытый вопрос как и что копировать и что потом с этим делать?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Судя по скрину Вы хотите ЛистБокс на форме. А пробовали из него копировать? Создайте его пока на листе, а не на форме и посмотрите - подойдёт ли он для Ваших целей?
 
См. черновик. Все таблицы на активном листе,  
 
Юрий М, спасибо.
Но это список, а не таблица.
И я ничего не могу из этого списка скопировать в буфер обмена.
 
Цитата
Ігор Гончаренко написал:
в) и процесса копирования непонятно чего и как
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
А я писал об этом в #33. Вы ответили?
 
Цитата
Юрий М написал:
Судя по скрину Вы хотите ЛистБокс на форме. А пробовали из него копировать? Создайте его пока на листе, а не на форме и посмотрите - подойдёт ли он для Ваших целей?

(Я не знаю как создать Листбокс на листе. Вот создал - через элементы управления - объект есть, но он ничем не заполнен.)

Подойдет ли он для моих целей?
Если там будут данные в виде таблицы с возможностью копирования в буфер обмена - какого-то выбранного элемента диапазона (по щелчку мыши или через Ctrl+C) - то подойдет.
Изменено: plank1433 - 24.09.2020 01:30:40
 
чем удобнее копировать с формы с какой-то урезанной таблицы
от копирования с листа со всеми стандартными возможностиями
чем это удобнее? чем? кому это облегчит жизнь и как?

совершенно не обязательно отвечать на эти вопросы мне. ответьте. себе. если у вас есть четкие и понятные ответы - есть смысл продолжать поиски
если таких ответов нет, подумайте, может в  этой форме и этом способе и смысла нет ни какого
Изменено: Ігор Гончаренко - 24.09.2020 02:45:09
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Михаил Лебедев написал:
#3
23 сен 2020 06:18:33
...
1. Запишите в таблице названия фигур по английски.
...

Цитата
Юрий М написал:
#23
23 сен 2020 22:28:06
Миш, в твоём файле имя фигуры Овал 5 определяется, как Oval 5 - вот и не находит...
:)
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Цитата
Юрий М написал:
А я писал об этом в #33. Вы ответили?
Не ответил не только на #33.
Да не видит он то, что ему не интересно. И отвечать не собирается. Время еще тратить :)
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Михаил Лебедев, читаем 38-е сообщение.
 
Цитата
plank1433 написал:
читаем 38-е
возможно вы удивитесь - еще и #39 есть, безответное
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
buchlotnik написал:
возможно вы удивитесь - еще и #39 есть, безответное
да и 2-е...
Да и Правила - тоже.
"...2.6. Один вопрос - одна тема. Не следует в открываемой теме обозначать и задавать сразу несколько вопросов.
   2.7. Если вам нужен не совет по самостоятельному решению задачи, а чтобы все сделали за вас - добро пожаловать в ветку Работа. ..."
Изменено: Михаил Лебедев - 24.09.2020 07:39:12
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Цитата
buchlotnik написал:
возможно вы удивитесь - еще и #39 есть, безответное
Да нет, я не удивляюсь конечно.
Я не понял вопроса из сообщения 39.

(разве что - кому это облегчит жизнь, как и чем. Ответ - облегчит мне. Как облегчит - станет удобнее работать. Чем облегчит - копировать данные станет удобнее.)
В общем я как-то не особо понял о чем человек говорит - возможно риторические вопросы задает.
Но он уточнил::
Цитата
Ігор Гончаренко написал:
совершенно не обязательно отвечать на эти вопросы мне. ответьте. себе.
И еще:
Цитата
Ігор Гончаренко написал:
если у вас есть четкие и понятные ответы - есть смысл продолжать поиски
Я вас уверяю - я создал эту тему не в пьяном бреду.
Когда я написал первое сообщение - у меня был четкий вопрос:
Цитата
plank1433 написал:
Как по таблице T5:V13 назначить определенным фигурам макрос, при котором бы вылетала форма, в которой была бы вписана назначенная фигуре табличка-диапазон (с возможностью что-то скопировать из нее) ?
 
Думаю что нужно типа
Microsoft Office Spreadsheet 11.0 ActiveX Control но нет его более с нами.
По вопросам из тем форума, личку не читаю.
 
БМВ,ну я же написал что его нет.
И уточнил по этому поводу в сообщении 31:
Цитата
plank1433 написал:
если нельзя вынести прямо кусок экселевского листа - как Spreadsheet - на форму,  то хотя бы как набор textboxов : два текстбокса в ширину и три текстбокса в высоту.  Я не разбираюсь в этих activex-элементах, но наверно есть там какие-то инструменты чтобы таблицу нарисовать)
 
Цитата
plank1433 написал:
ну я же написал что его нет.
ну даже подготовленному не всегда понятно имели ли Вы в виду просто Spreadsheet (электронная таблица) или ActiveX о котором я упомянул.
Если вам нужно копировать единичные значения, то тогда набор текстбоксов может подойти, но группу уже скопировать не получится.
Изменено: БМВ - 24.09.2020 08:41:01
По вопросам из тем форума, личку не читаю.
 
Цитата
plank1433 написал:
Как по таблице T5:V13 назначить определенным фигурам макрос, при котором бы вылетала форма, в которой была бы вписана назначенная фигуре табличка-диапазон (с возможностью что-то скопировать из нее) ?
Нужно написать макрос, который бы фигурам в указанной таблице вызывал макрос, при котором бы вылетала форма со вписанной в нее табличкой-диапазоном (ТД).
Вылетающую форму необходимо создать и вписать в нее табличку-диапазон (ТД).
ТД нужно с помощью макроса заполнить значениями в момент активации Формы.
Макрос для заполнения ТД необходимо написать.
Возможность что-то скопировать из ТД достигается путем написания макроса на какое-нибудь подходящее событие таблички-диапазона.

Из всего этого Вам уже не только рассказали, "как...", но и сделали всё, кроме последнего :)
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
БМВ, да, мне достаточно будет единичных значений.
 
Вариант: выбранную в ЛистБокс строку копировать  в укромное место на листе, рисовать границы и уже с листа копировать диапазон.
Но всё это уже вопросы для следующей темы: привязать к фигуре таблицу, получить табличку на форме Вы уже умеете.
 
Ну чтоб 5 мин работы не пропало даром
Код
Sub ShapeClick()
    Set rez = Range("T5:T10").Find(ActiveSheet.Shapes(Application.Caller).Name)
    If Not rez Is Nothing Then
        txtRange = rez.Offset(, 1)
        Call ShowTable(rez.Offset(, 1))
    Else
        txtRange = ""
    End If
End Sub

Sub ShowTable(txtRange As String)
strHTML = ConvertRangeToHTMLTable(Range(txtRange))
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate ("about:blank")
objIE.Toolbar = 0
objIE.StatusBar = 0
objIE.Width = 700
objIE.Height = 300
Set objDoc = objIE.Document.Body
objDoc.InnerHTML = strHTML
objIE.Visible = True
End Sub

Public Function ConvertRangeToHTMLTable(rInput As Range) As String
    'Declare variables
    Dim rRow As Range
    Dim rCell As Range
    Dim strReturn As String
    'Define table format and font
    strReturn = "<Table border='1' cellspacing='0' cellpadding='7' style='border-collapse:collapse;border:none'>  "
    'Loop through each row in the range
    For Each rRow In rInput.Rows
        'Start new html row
        strReturn = strReturn & " <tr align='Center'; style='height:10.00pt'> "
        For Each rCell In rRow.Cells
            'If it is row 1 then it is header row that need to be bold
            If rCell.Row = 1 Then
                strReturn = strReturn & "<td valign='Center' style='border:solid windowtext 1.0pt; padding:0cm 5.4pt 0cm 5.4pt;height:1.05pt'><b>" & rCell.Text & "</b></td>"
            Else
                strReturn = strReturn & "<td valign='Center' style='border:solid windowtext 1.0pt; padding:0cm 5.4pt 0cm 5.4pt;height:1.05pt'>" & rCell.Text & "</td>"
            End If
        Next rCell
        'End a row
        strReturn = strReturn & "</tr>"
    Next rRow
    'Close the font tag
    strReturn = strReturn & "</font></table>"
    'Return html format
    ConvertRangeToHTMLTable = strReturn
End Function
По вопросам из тем форума, личку не читаю.
 
Цитата
Юрий М написал: Вариант: выбранную в ЛистБокс строку копировать в укромное место на листе, рисовать границы и уже с листа копировать диапазон
Юрий М
, что-то никак не подходит здесь Listbox.
И насчет диапазона  - мне нужно с формы не весь диапазон копировать и не частичный диапазон, а одно число.
Listbox - это список, а не таблица.  
Тут подойдет только табличный активХ Spreadsheet (которого уже нет), либо единичные textbox, расставленные в виде таблицы.
Мне нужно одно-единственное значение в этой импровизированной таблице - ткнул мышкой в цифру (текстбокс), оно скопировалась в буфер.
Цитата
plank1433 написал:
набор textboxов : два текстбокса в ширину и три текстбокса в высоту
Я имел ввиду - под каждую цифру этой "таблицы на форме" - свой маленький текстбокс.
 
Цитата
plank1433 написал:
Listbox - это список, а не таблица.  
А в чем принципиальное отличие, по Вашему?
Цитата

мне нужно с формы не весь диапазон копировать...а одно число
Какое число?
Изменено: Михаил Лебедев - 24.09.2020 12:26:35
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Мужчины, (Михаил Лебедев, ) ну ведь все уже понятно давно. Нужна таблица из которой можно скопировать значение из любой ячейки. В #52 это реализовано через IE. Разве что глянец не наводил, с размером окна  и можно всегда одно окно использовать.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
В #52 это реализовано через IE.
Да, красиво реализовано. Правда, не заметил, как 100500+ окон открыл IE. :)
А как сделать, чтобы одно - тямы не хватает :(
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Цитата
Михаил Лебедев написал:
А как сделать, чтобы одно
Код
Static objIE As Object
strHTML = ConvertRangeToHTMLTable(Range(txtRange))
If objIE Is Nothing Then Set objIE = CreateObject("InternetExplorer.Application")
По вопросам из тем форума, личку не читаю.
 
БМВ,все нормально.
Таблицы появляются, копировать легко.
Спасибо за ответ.
 
Цитата
БМВ написал:
Static objIE As Object
Да, одно. Сзади екселя :)
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Цитата
Михаил Лебедев написал:
Сзади екселя
По тому что excel is number one :-)
это к глянцу относится.
По вопросам из тем форума, личку не читаю.
Страницы: Пред. 1 2 3 След.
Наверх