从单元格值删除行并重命名工作表

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

我在第一个工作表上有一个与工作表名称对应的列表。

列表从 1 到 ...,工作表名称为 BT1, BT2, ....

现在我创建了一个宏来从列表中删除一行并删除特定的工作表,但是在删除工作表后,必须根据数字列表重命名剩余工作表。

假设我删除了Team 3,Team 3是从1到10。代码删除了相应的行和工作表,然后它首先更改了单元格(A?)中的单元格公式,因此列表列表从1到0重置9 然后更改工作表名称。

我知道我需要一个循环,但不知道/理解如何编写这种类型的代码。

我编写了以下宏。在“循环重命名工作表”时,我想创建一个循环来重命名工作表,但不知道/理解如何编写代码。

Sub Team_Verwijderen()

Dim intMyVal As Integer, a As Integer
Dim lngLastRow As Long, i As Long
Dim strRowNoList As String, List2 As String, List_1 As String
Dim Zoekwaarde As Variant
Dim cell As Variant
Dim naam$, laatsteNaam$

Zoekwaarde = InputBox("Vul het Teamnummer in dat je wilt verwijderen.")

On Error GoTo Errorhandler

intMyVal = Zoekwaarde 'Value to search for, change as required.
lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row 'Search Column A, change as required.

For Each cell In Range("A3:A" & lngLastRow) 'Starting cell is A2, change as required.

    If cell.Value = intMyVal Then
        If strRowNoList = "" Then
        strRowNoList = strRowNoList & cell.Row
        Else
        strRowNoList = strRowNoList & ", " & cell.Row
        End If
    End If
Next cell

List2 = strRowNoList
List_1 = Range("A" & strRowNoList).Value

Sheets("BT" & List_1).Delete
Blad1.Range("A" & strRowNoList & ":K" & strRowNoList).Delete xlUp

'Loop to Rename worksheets
naam = "BT" & List_1



Range("A" & List2).Formula = "=if(B" & List2 & "="""","""",A" & List2 - 1 & "+1)"
Sheets("BT" & List_1 + 1).Name = naam
                


'-------------------------
Errorhandler:

Blad1.Select
Range("B3").Select

End Sub

我希望有人能帮助我。

excel vba loops rename delete-row
1个回答
0
投票
' Loop to Rename worksheets
For i = List_1 + 1 To lngLastRow - 2 ' assuming you have 10 teams and starting from 3rd row
    naam = "BT" & i
    Range("A" & i + 2).Formula = "=IF(B" & i + 2 & "="""","""",A" & i + 1 & "+1)"
    Sheets("BT" & i + 1).Name = naam
Next i

' -------------------------

Exit Sub ' Exit the subroutine after successful execution

上面的食物循环应该能够按照您所描述的方式管理任务。它迭代剩余的工作表并根据数字列表更新它们的名称。请注意,我使用 lngLastRow - 2 作为循环的上限,假设从第 3 行开始有 10 个团队。根据您的实际数据结构相应调整该值。

© www.soinside.com 2019 - 2024. All rights reserved.