Как переименовать лист на основе значения ячейки - PullRequest
0 голосов
/ 09 апреля 2019

Как я могу переименовать лист, используя значение ячейки A1 из листа 2.
Я попробовал следующий код:

    Private Sub CommandButton1_Click()
        Sheet1.Name = Sheet2.Range("A1").Value
    End Sub

, но если я использую

Sheets(1).Name = Sheets(2).Range("A1").Value

или

Sheets("Sheet1") = Sheets("Sheet2").Range("A1").Value

это работает, но мне нужно использовать кодовое имя листов, чтобы при переименовании листа 2 код все равно работал.

1 Ответ

0 голосов
/ 09 апреля 2019

В целом я нашел ваш вопрос очень неясным, но вот 3 возможных толкования:

  1. Установите сначала Sheet как [A1] из 2 Sheet.

    Private Sub CommandButton1_Click()
          If Not IsEmpty(Sheets(2).Range("A1"))
              ThisWorkbook.Sheets(1).Name = ThisWorkbook.Sheets(2).Range("A1")
          End If
    End Sub
    
  2. Установить первый Sheet как [A1] последнего Sheet

    Private Sub CommandButton1_Click()
           If Not IsEmpty(Sheets(Sheets.Count).Range("A1"))
                ThisWorkbook.Sheets(1).Name = ThisWorkbook.Sheets(Sheets.Count).Range("A1")
           End If
    End Sub
    
  3. Установить первый Sheetкак [A1] Листа с именем "Sheet2"

    Private Sub CommandButton1_Click()
           If Not IsEmpty(Sheets("Sheet2").Range("A1"))
               ThisWorkbook.Sheets(1).Name = ThisWorkbook.Sheets("Sheet2").Range("A1")
           End If
    End Sub
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...