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

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

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

Так:

введите описание изображения здесь

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

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

  • Имя
  • Описание
  • Бюджет
  • Бла-бла-бла
  • Фу

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

Кто-нибудь знает, как этого добиться?

решение1

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

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

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

Затем я активирую это из таблицы, используя список событий по «щелчку правой кнопкой мыши» ячейки, и заполняю элементы управления формы значениями.

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh как объект, ByVal Target как диапазон, Cancel как логическое значение)

При ошибке Возобновить Далее

' Вызвать это только если нажата клавиша Ctrl If IsControlKeyDown() = True Then

    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

Конец субтитра

Связанный контент