Похожие вопросы

Русский UTF-8 табуляция csv файл, сохраненный из Excel 2016 мусор в текстовом редакторе
VBA копировать / вставить строку на другой лист, если ячейка больше ячейки в другом столбце
Может ли Excel показать формулу и ее результат одновременно?
Сортировка с помощью макроса
Добавлять В Ячейку Только Четные Или Нечетные Числа
В Excel не отображает содержимое ячейки
Excel - как ранжировать по количеству вхождений?
Вычислить среднее и стандартное отклонение в Wireshark
Импорт CSV-файлов Excel обработка строк чисел в кавычках как числовых значений, а не строк
Как заставить Excel обратить внимание на буфер обмена
Замораживание Excel 2016 при вводе данных в электронную таблицу с несколькими формулами
Оператор If, возвращающий исходную функцию при значении false (аналогично iferror или замене)
Выполнение макроса на текущем листе и на всех листах после текущего
Экспорт кириллицы из Excel в CSV
Как применить формулу к ячейкам со значением

Excel, добавление дополнительной информации в ячейку структурированным способом

У меня есть excel-лист с планом на год. Используя недели для столбцов, а затем цветовой индикатор для недель, где" вещи " происходит.

такой:

enter image description here

мой вопрос: есть ли способ (встроенный или с помощью дополнений) добавить информацию в эту ячейку более структурированным образом?

Я думаю, может быть, немного формы с

  • имя
  • описание
  • бюджет
  • бла бла
  • Foo

таким образом, я мог бы сохранить свой обзор, но в то же время добавить дополнительную информацию в каждую ячейку.

кто-нибудь знает о способе достижения этой цели?

5
источник

1 ответов

Я закончил создание пользовательской формы с некоторыми текстовыми полями и кнопкой для сохранения значений в том же col/row на другом листе под названием "данные".

что-то вроде этого:

Dim xml As String

xml = xml + "<CellDetails>"
xml = xml + "  <Budget>" + UserForm1.txtBudget.Text + "</Budget>"
xml = xml + "  <Comments>" + UserForm1.txtComments.Text + "</Comments>"
xml = xml + "  <StartDate>" + Format(MonthView1.Value, "yyyy-mm-dd") + "</StartDate>"
xml = xml + "  <EndDate>" + Format(MonthView2.Value, "yyyy-mm-dd") + "</EndDate>"
xml = xml + "</CellDetails>"

ThisWorkbook.Sheets("Data").Range(Selection.Address).Value = xml

затем я запускаю это с листа, используя event-listner на "правом щелчке" ячейки и заполняю элементы управления формы значениями.

Частная Суб Workbook_SheetBeforeRightClick(Как Byval SH А Объект, Цель Бывал В Диапазоне, Отменить Как Boolean)

По Ошибки Продолжить Следующий

' срабатывает только при нажатии клавиши Ctrl Если IsControlKeyDown () = True, То

    If Not ThisWorkbook.Sheets("Data").Range(Selection.Address).Value = "" Then

        Dim XDoc As MSXML2.DOMDocument
        Set XDoc = CreateObject("MSXML2.DOMDocument")
        XDoc.LoadXML (ThisWorkbook.Sheets("Data").Range(Selection.Address).Value)

        ' Setting the form values
        UserForm1.txtBudget.Text = XDoc.SelectSingleNode("//CellDetails/Budget").Text
        UserForm1.txtComments.Text = XDoc.SelectSingleNode("//CellDetails/Comments").Text

        ' Setting the dates
        UserForm1.MonthView1.Value = CDate(XDoc.SelectSingleNode("//CellDetails/StartDate").Text)
        UserForm1.lbStartDate = XDoc.SelectSingleNode("//CellDetails/StartDate").Text
        UserForm1.MonthView2.Value = CDate(XDoc.SelectSingleNode("//CellDetails/EndDate").Text)
        UserForm1.lbEndDate = XDoc.SelectSingleNode("//CellDetails/EndDate").Text
    End If

    UserForm1.Show


    Cancel = True

End If
On Error GoTo 0

Конец Sub

0
отвечен Markus Knappen Johansson 2017-10-12 14:03:09
источник