Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Изменение названия ярлыка листа щелчком по ячейкам - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Изменение названия ярлыка листа щелчком по ячейкам
Dalm Дата: Среда, 07.08.2024, 18:37 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 92
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Здравствуйте.
Помогите изменить макрос.

Сейчас при щелчке на текст в любом месте диапазоне G4:V5 - название ярлыка листа меняется (на текст ячейки, по которой щелкнули).

Как изменить макрос, чтобы он менял название всегда - по тексту ячейки F3 ?
(А щелчки по кнопкам - меняли бы содержимое ячейки F3)

То есть щелчок по диапазону G4:V4 - меняет левую часть формулы "=J4&L5" в ячейке F3 (и меняет название ярлыка)
То есть щелчок по диапазону G5:V5 - меняет правую часть формулы "=J4&L5" в ячейке F3 (и меняет название ярлыка)

Прикладываю файл-пример.
К сообщению приложен файл: fajl2_1.xlsm (22.0 Kb)
 
Ответить
СообщениеЗдравствуйте.
Помогите изменить макрос.

Сейчас при щелчке на текст в любом месте диапазоне G4:V5 - название ярлыка листа меняется (на текст ячейки, по которой щелкнули).

Как изменить макрос, чтобы он менял название всегда - по тексту ячейки F3 ?
(А щелчки по кнопкам - меняли бы содержимое ячейки F3)

То есть щелчок по диапазону G4:V4 - меняет левую часть формулы "=J4&L5" в ячейке F3 (и меняет название ярлыка)
То есть щелчок по диапазону G5:V5 - меняет правую часть формулы "=J4&L5" в ячейке F3 (и меняет название ярлыка)

Прикладываю файл-пример.

Автор - Dalm
Дата добавления - 07.08.2024 в 18:37
MikeVol Дата: Четверг, 08.08.2024, 12:59 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 378
Репутация: 80 ±
Замечаний: 0% ±

MSO LTSC 2021 EN
Dalm, Доброго времени суток. Ещё один вариант от меня, приведённый ниже код вставьте в Модуль ЭтаКнига (ThisWorkbook): [vba]
Код
Option Explicit

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

    If Not Intersect(Target, Sh.Range("G2:R2")) Is Nothing Then

        With Sh.Tab
            .Color = Target.Interior.Color
            .TintAndShade = 0
        End With

    End If

End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

    If Not Intersect(Target, Sh.Range("G4:V5")) Is Nothing Then
        Cancel = True

        ' Обновление ячейки F3 на основе выбранной ячейки
        If Not Intersect(Target, Sh.Range("G4:V4")) Is Nothing Then
            Sh.Range("F3").Formula = "=" & Target.Address & "&" & Mid(Sh.Range("F3").Formula, InStr(Sh.Range("F3").Formula, "&") + 1)

        ElseIf Not Intersect(Target, Sh.Range("G5:V5")) Is Nothing Then
            Sh.Range("F3").Formula = Left(Sh.Range("F3").Formula, InStr(Sh.Range("F3").Formula, "&")) & Target.Address
        End If

        ' Получение нового имени листа из ячейки F3
        Dim newName As String: newName = Sh.Range("F3").Value

        ' Проверка на длину имени и недопустимые символы
        If Len(newName) <= 31 And InStr(newName, ":") = 0 And InStr(newName, "\") = 0 Then
            On Error Resume Next
            Sh.Name = newName

            If Err.Number <> 0 Then
                MsgBox "Не удалось переименовать лист. Возможно, лист с таким именем уже существует или имя недопустимо.", vbExclamation
                Err.Clear
            End If

            On Error GoTo 0
        Else
            MsgBox "Имя листа не должно быть пустым, содержать недопустимые символы и быть длиной не более 31 символа.", vbExclamation
        End If

    End If

End Sub
[/vba] И как обычно от меня, остальной код что есть у вас удалите, весь! Удачи.


Ученик.
Одесса - Украина
 
Ответить
СообщениеDalm, Доброго времени суток. Ещё один вариант от меня, приведённый ниже код вставьте в Модуль ЭтаКнига (ThisWorkbook): [vba]
Код
Option Explicit

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

    If Not Intersect(Target, Sh.Range("G2:R2")) Is Nothing Then

        With Sh.Tab
            .Color = Target.Interior.Color
            .TintAndShade = 0
        End With

    End If

End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

    If Not Intersect(Target, Sh.Range("G4:V5")) Is Nothing Then
        Cancel = True

        ' Обновление ячейки F3 на основе выбранной ячейки
        If Not Intersect(Target, Sh.Range("G4:V4")) Is Nothing Then
            Sh.Range("F3").Formula = "=" & Target.Address & "&" & Mid(Sh.Range("F3").Formula, InStr(Sh.Range("F3").Formula, "&") + 1)

        ElseIf Not Intersect(Target, Sh.Range("G5:V5")) Is Nothing Then
            Sh.Range("F3").Formula = Left(Sh.Range("F3").Formula, InStr(Sh.Range("F3").Formula, "&")) & Target.Address
        End If

        ' Получение нового имени листа из ячейки F3
        Dim newName As String: newName = Sh.Range("F3").Value

        ' Проверка на длину имени и недопустимые символы
        If Len(newName) <= 31 And InStr(newName, ":") = 0 And InStr(newName, "\") = 0 Then
            On Error Resume Next
            Sh.Name = newName

            If Err.Number <> 0 Then
                MsgBox "Не удалось переименовать лист. Возможно, лист с таким именем уже существует или имя недопустимо.", vbExclamation
                Err.Clear
            End If

            On Error GoTo 0
        Else
            MsgBox "Имя листа не должно быть пустым, содержать недопустимые символы и быть длиной не более 31 символа.", vbExclamation
        End If

    End If

End Sub
[/vba] И как обычно от меня, остальной код что есть у вас удалите, весь! Удачи.

Автор - MikeVol
Дата добавления - 08.08.2024 в 12:59
Dalm Дата: Четверг, 08.08.2024, 15:01 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 92
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
MikeVol, спасибо за ответ

Подскажите - как в этот код, добавить в конце - символ "." ?
[vba]
Код

Sh.Range("F3").Formula = Left(Sh.Range("F3").Formula, InStr(Sh.Range("F3").Formula, "&")) & Target.Address & "&" & Int((10 * Rnd) + 1)
[/vba]
 
Ответить
СообщениеMikeVol, спасибо за ответ

Подскажите - как в этот код, добавить в конце - символ "." ?
[vba]
Код

Sh.Range("F3").Formula = Left(Sh.Range("F3").Formula, InStr(Sh.Range("F3").Formula, "&")) & Target.Address & "&" & Int((10 * Rnd) + 1)
[/vba]

Автор - Dalm
Дата добавления - 08.08.2024 в 15:01
MikeVol Дата: Четверг, 08.08.2024, 17:31 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 378
Репутация: 80 ±
Замечаний: 0% ±

MSO LTSC 2021 EN
Dalm, поиграйтесь с кодом и вас получится добиться желаемого результата. ;)


Ученик.
Одесса - Украина
 
Ответить
СообщениеDalm, поиграйтесь с кодом и вас получится добиться желаемого результата. ;)

Автор - MikeVol
Дата добавления - 08.08.2024 в 17:31
Dalm Дата: Четверг, 08.08.2024, 21:09 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 92
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
MikeVol, не получается

Добавляю в конце & "&" & "."
Мне выдается ошибка.
[vba]
Код

Sh.Range("F3").Formula = Left(Sh.Range("F3").Formula, InStr(Sh.Range("F3").Formula, "&")) & Target.Address & "&" & Int((10 * Rnd) + 1) & "&" & "."
[/vba]
 
Ответить
СообщениеMikeVol, не получается

Добавляю в конце & "&" & "."
Мне выдается ошибка.
[vba]
Код

Sh.Range("F3").Formula = Left(Sh.Range("F3").Formula, InStr(Sh.Range("F3").Formula, "&")) & Target.Address & "&" & Int((10 * Rnd) + 1) & "&" & "."
[/vba]

Автор - Dalm
Дата добавления - 08.08.2024 в 21:09
MikeVol Дата: Четверг, 08.08.2024, 22:15 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 378
Репутация: 80 ±
Замечаний: 0% ±

MSO LTSC 2021 EN
Dalm, [vba]
Код
        ' Получение нового имени листа из ячейки F3
        Dim newName As String: newName = Sh.Range("F3").Value & "."
[/vba]


Ученик.
Одесса - Украина
 
Ответить
СообщениеDalm, [vba]
Код
        ' Получение нового имени листа из ячейки F3
        Dim newName As String: newName = Sh.Range("F3").Value & "."
[/vba]

Автор - MikeVol
Дата добавления - 08.08.2024 в 22:15
Dalm Дата: Пятница, 09.08.2024, 00:26 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 92
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
MikeVol, спасибо
 
Ответить
СообщениеMikeVol, спасибо

Автор - Dalm
Дата добавления - 09.08.2024 в 00:26
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!