Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 14.06.2010
Сообщений: 66

sheets найти книгу!?

24.02.2014, 14:52. Показов 1886. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в коллекции sheets только перебором коллекции можно найти книгу?
или есть более гумманные способы?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.02.2014, 14:52
Ответы с готовыми решениями:

Как из XLAM запустить Sheets().Copy Before:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Привет. Есть макрос, который копирует две эксель вкладки на активную книгу. При это макрос в файле с расширением xlsm работает преотлично....

Не работает копирование листа (sheets(1).copy before:=sheets(1))
выручайте!!! не работает копирование листа (sheets(1).copy before:=sheets(1)). при этом всем макрос не выдает ошибку а просто заканчивает...

Поиск и замена ячеек sheets(1) и sheets(2)
Надеюсь на вашу помощь. Нужно организовать спецификацию на sheets(1) по имеющейся таблице которая находится на sheets(2). Есть...

12
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
24.02.2014, 14:59
А мне всегда казалось, что книгу следует искать в коллекции Workbooks
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
24.02.2014, 15:06
iv_roman_vl, по имени или номеру: workbooks("Книга2.xls"), workbooks(3)
С листами то же самое.
0
0 / 0 / 0
Регистрация: 14.06.2010
Сообщений: 66
24.02.2014, 15:18  [ТС]
да, прошу прощения, опечатка.
Хочу найти лист в книге.
Ну перебором то я нахожу, нет проблем.
Просто думал мож есть что нибудь типа sheets("...").find
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
24.02.2014, 15:22
Зачем его искать? Вот же он - sheets("..."). Или нет его.
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
24.02.2014, 15:23
Выражение sheets("...") уже возвращает ссылку на лист (если есть лист с таким именем), зачем что-то искать?
Если хотите получить порядковый номер этого листа, то sheets("...").index
0
0 / 0 / 0
Регистрация: 14.06.2010
Сообщений: 66
24.02.2014, 15:40  [ТС]
прошу прощения за неправильную формулировку!
у меня есть книга, в ней листы.
Я хочу чтоб при добавлении листа, выполнялась проверка на наличие листа с такимже названием.
И если лист с таким названием уже есть, то имеющийся удаляется и добовляемый добавляется в данную книгу.

Visual Basic
1
2
3
        For i = 1 To Workbooks("...").Sheets.Count
    If Workbooks(settings.bkMain).Sheets(i).Name = settings.shMain Then Workbooks("...").Sheets(i).Delete
        Next
так вот вопрос в том, можно ли как то без цикла обойтись? есть ли стандартная функция для поиска листа в коллекции листов.
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
24.02.2014, 15:45
Цитата Сообщение от iv_roman_vl Посмотреть сообщение
Я хочу чтоб при добавлении листа, выполнялась проверка на наличие листа с такимже названием.
А эксель и так не даст вам в одной книге 2 листа с одинаковыми названиями сделать
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
24.02.2014, 15:52
есть ли функция
здесь же выкладывали целую кучу?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Function SheetExists(SheetName As String) As Boolean
On Error Resume Next
SheetExists = Not Sheets(SheetName) Is Nothing
End Function
 
 
Function Sh_Exist(sName As String) As Boolean
    Dim wsSh As Worksheet
    On Error Resume Next
    Set wsSh = Sheets(sName)
    Sh_Exist = Not wsSh Is Nothing
End Function
 
Function SheetExists(SheetName As String) As Boolean
        Dim obj As Object
        On Error GoTo errorHandler:
        Set obj = sheets(SheetName)
        SheetExists = True
        Exit Function
errorHandler:
        SheetExists = False
End Function 
 
Function SheetExist(strSheetName As String) As Boolean
    Dim objSheet As Object
    
    On Error GoTo HandleError
    ThisWorkbook.Worksheets(strSheetName).Activate
    SheetExist = True
    Exit Function
    
HandleError:
    SheetExist = False
End Function
 
Function SheetExists(ShName As String) As Boolean
Dim Sh As Worksheet
    SheetExists = False
    For Each Sh In ActiveWorkbook.Sheets
        If Sh.Name Like ShName Then
            SheetExists = True
            Set Sh = Nothing
            Exit Function
        End If
    Next Sh
End Function
0
 Аватар для KoGG
5640 / 1622 / 418
Регистрация: 23.12.2010
Сообщений: 2,430
Записей в блоге: 1
24.02.2014, 15:57
Visual Basic
1
2
3
4
On Error Resume Next
Workbooks(settings.bkMain).Sheets(settings.shMain).Delete
Err.Clear
On Eror GoTo 0
1
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
24.02.2014, 17:37
Действительно, зачем проверять наличие листа? Удалили, добавили. Возможную ошибку пропускаем.
Это если кто не понял о чём KoGG "сказал".
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
24.02.2014, 22:03
зачем проверять наличие листа
Как вариант для создания и хранения ежемесячных (еженедельных) отчётов
0
0 / 0 / 0
Регистрация: 14.06.2010
Сообщений: 66
25.02.2014, 08:14  [ТС]
Да, спасибо! во время поездки до дома тожа пришёл к такому решению
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.02.2014, 08:14
Помогаю со студенческими работами здесь

sheets(1).copy before:=sheets(1) не срабатывает
почему-то не получается скопировать из макроса лист!!! на sheets(1).copy before:=sheets(1) макрос просто обрывается при выполнении и при...

Sheets Tab= new Sheets ('Test'); Tab.addCol('id',int); Tab.addCol('Text',String); Tab.addVal('id',4);
Вопрос: Можно реализовать в JAVA механизм такого вида. Примерно так Sheets Tab= new Sheets ('Test'); ...

найти книгу
Книга называется С++ глазами хакера. Прочитав коментарии к книге я понял что там не совсем про хакерство,там сам хакер учит по с++,а те...

найти книгу
Где можно бесплатно скачать Adobe Dreamweaver, CSS, Ajax и PHP Пауэрс ?

Google Sheets
Всем привет. Не очень сильно разбираюсь в программировании, в связи с чем есть проблема: скрипт, представленный ниже, очень долго...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru