在特定表格中添加和编辑数据是指表格名称而不是列

问题描述 投票:0回答:1

我有一张有 4 个表的表,我正在使用用户表单将数据输入每个表,但我需要知道如何在不引用 A 列或 B 列的情况下编辑特定表中的数据……我想引用表名和表头名称

此示例将数据添加到表中

Dim cellrange As String
Dim rowno As Integer

Dim AddFood As ListObject
Dim AddBev As ListObject
Dim AddOther As ListObject

Set AddFood = Data.ListObjects("T_Food")
Set AddBev = Data.ListObjects("T_Beverage")
Set AddOther = Data.ListObjects("T_Other")
Dim AddedRow As ListRow

If txtCode.Text = "" Or comDepartment.Text = "" Or txtItemName.Text = "" Or comUnit.Text = "" _
    Or txtPrice.Text = "" Or TxtSalePrice.Text = "" Then
      Beep
   MsgBox " Please Enter Data "
Exit Sub

如果结束

 Application.ScreenUpdating = False  
 Application.DisplayAlerts = False

  '''''''''''''''''''''''                                                             

 Set Da = Data 
 Set ww = Application.WorksheetFunction
With Da
     If Me.comDepartment = "Food" Then
  cname = Me.txtItemName.Text
  fc = ww.CountIf(Data.Range("T_Food[[Item Name]]"), cname)
   If fc >= 1 Then
   amedia = MsgBox("  This name already exists  ", vbCritical, "Inventory Program")
 Exit Sub

如果结束

Set AddedRow = AddFood.ListRows.Add()
  With AddedRow
       AddedRow.Range(1) = Me.txtCode.Text    'Code
       AddedRow.Range(2) = Me.txtItemName.Text  'name
       AddedRow.Range(3) = Me.txtCode.Text
       AddedRow.Range(4) = Me.comUnit.Text         'Unit
       AddedRow.Range(5) = Me.txtPrice.Text        'CostPrice
       AddedRow.Range(6) = Me.TxtSalePrice.Text
       AddedRow.Range(8) = Me.comDepartment.Text  'Department
excel vba userform
1个回答
0
投票

任何 Excel 行中的任何单元格 (

Range
)(即使是
ListRow
)都具有
Row
属性,即 1 和
Column
属性,应递增以获得以下属性。所以,请尝试理解下一段代码并应用它的含义:

Dim Data As Worksheet, addFood As ListObject, AddedRow As listRow
  
  Set Data = ActiveSheet 'use here the sheet you need
  Set addFood = Data.ListObjects("T_Food")
  
  Set AddedRow = addFood.ListRows.Add()
  With AddedRow
        .Range(1, 1) = Me.txtCode.Text
        .Range(1, 2) = Me.txtItemName.Text
  End With
© www.soinside.com 2019 - 2024. All rights reserved.