Excel では、構造化された方法でセルに情報を追加できます。

Excel では、構造化された方法でセルに情報を追加できます。

1 年間の計画を記した 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

次に、セルの「右クリック」でイベント リスナーを使用してシートからこれをトリガーし、フォーム コントロールに値を入力します。

プライベート サブ Workbook_SheetBeforeRightClick(ByVal Sh As Object、ByVal Target As Range、Cancel As Boolean)

エラー時に再開次へ

' 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

終了サブ

関連情報