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 目標作為範圍,取消作為布林值)

出錯時繼續下一步

' 僅在按下 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

結束子

相關內容