Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 插入新表列以包含以前列的IFELSE结果_Excel_Vba - Fatal编程技术网

Excel 插入新表列以包含以前列的IFELSE结果

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

包含精品店编号的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 = 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”
不是有效的范围参考。字符串变量不可能等于多单元格范围。如果没有数据示例,就很难提出建议。但似乎一个简单的工作表公式就可以完成这项工作。嗨,伙计们,我添加了一个屏幕截图-让我知道这是否有帮助