我有一张有 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 行中的任何单元格 (
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