Excel 插入新表列以包含以前列的IFELSE结果
包含精品店编号的L列和包含精品店代码的新插入列的AB列 正如我的标题所示,我希望在一个表中添加一个新列,其中包含前一列中的IF-ELSE值(列L,其中包含值a、B、C、D、E,具体取决于精品店)。我的代码在下面Excel 插入新表列以包含以前列的IFELSE结果,excel,vba,Excel,Vba,包含精品店编号的L列和包含精品店代码的新插入列的AB列 正如我的标题所示,我希望在一个表中添加一个新列,其中包含前一列中的IF-ELSE值(列L,其中包含值a、B、C、D、E,具体取决于精品店)。我的代码在下面 Sub BoutiqueCodes() Dim tbl As ListObject Dim cel As Range Dim boutique As String[enter image description here][1] Dim codes As Integer boutique
Sub BoutiqueCodes()
Dim tbl As ListObject
Dim cel As Range
Dim boutique As String[enter image description here][1]
Dim codes As Integer
boutique = Range("L, L").Value
'the boutique values come from Column L
Set tbl = ActiveSheet.ListObjects("Table_1")
With tbl
.ListColumns.Add.Name = "Code"
For Each cel In .ListColumns("Code").DataBodyRange.Cells
If boutique = "A" Then
codes = 506
ElseIf boutique = "B" Then
codes = 606
ElseIf boutique = "C" Then
codes = 706
ElseIf boutique = "D" Then
codes = 611
ElseIf boutique = "E" Then
codes = 612
Else
codes = 0
End If
cel.Value = codes
Next
End With
End Sub
我在精品=范围(“L,L”).值这一行出错了。我确信这一点。我想在新专栏中看到精品店的对应代码。以前,我没有finite=Range(“L,L”).Value
行,但是我所有的代码值都显示为0。任何帮助都会很好。谢谢将列添加到带有计算的表中
使用偏移量的快速修复
Option Explicit
Sub BoutiqueCodes()
Dim tbl As ListObject
Dim cel As Range
Dim boutique As String
Dim codes As Long
Dim ColumnOffset As Long
Set tbl = ActiveSheet.ListObjects("Table_1")
With tbl
.ListColumns.Add.Name = "Code"
ColumnOffset = .ListColumns("Boutique").Index _
- .ListColumns("Code").Index
For Each cel In .ListColumns("Code").DataBodyRange.Cells
boutique = cel.Offset(, ColumnOffset).Value
If boutique = "A" Then
codes = 506
ElseIf boutique = "B" Then
codes = 606
ElseIf boutique = "C" Then
codes = 706
ElseIf boutique = "D" Then
codes = 611
ElseIf boutique = "E" Then
codes = 612
Else
codes = 0
End If
cel.Value = codes
Next
End With
End Sub
将列添加到带有计算的表中
使用偏移量的快速修复
Option Explicit
Sub BoutiqueCodes()
Dim tbl As ListObject
Dim cel As Range
Dim boutique As String
Dim codes As Long
Dim ColumnOffset As Long
Set tbl = ActiveSheet.ListObjects("Table_1")
With tbl
.ListColumns.Add.Name = "Code"
ColumnOffset = .ListColumns("Boutique").Index _
- .ListColumns("Code").Index
For Each cel In .ListColumns("Code").DataBodyRange.Cells
boutique = cel.Offset(, ColumnOffset).Value
If boutique = "A" Then
codes = 506
ElseIf boutique = "B" Then
codes = 606
ElseIf boutique = "C" Then
codes = 706
ElseIf boutique = "D" Then
codes = 611
ElseIf boutique = "E" Then
codes = 612
Else
codes = 0
End If
cel.Value = codes
Next
End With
End Sub
精品是您正在评估的同一行L列中的单元格值吗?对不起,我将相应地修改这个问题。我在L列中有一个值列表(a、B、C、D和E)。我希望在表格末尾的新列中出现相应的代码。我可能没有说清楚。当然。屏幕截图会有所帮助。精品=范围(“L,L”)。值在很多方面都是错误的<代码>“L,L”
不是有效的范围参考。字符串变量不可能等于多单元格范围。如果没有数据示例,就很难提出建议。但是,似乎一个简单的工作表公式就可以完成这项工作。嗨,伙计们,我添加了一个屏幕截图-让我知道这是否有助于你计算的同一行中L列中单元格的值?对不起,我会相应地修改这个问题。我在L列中有一个值列表(a、B、C、D和E)。我希望在表格末尾的新列中出现相应的代码。我可能没有说清楚。当然。屏幕截图会有所帮助。精品=范围(“L,L”)。值在很多方面都是错误的<代码>“L,L”
不是有效的范围参考。字符串变量不可能等于多单元格范围。如果没有数据示例,就很难提出建议。但似乎一个简单的工作表公式就可以完成这项工作。嗨,伙计们,我添加了一个屏幕截图-让我知道这是否有帮助