powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Скрытое создание листа
12 сообщений из 37, страница 2 из 2
Скрытое создание листа
    #36959926
Фотография A_Cross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shamanusak787забыл удаление листа добавить (метод New_Sheet не нужен)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Sh.Name = "Лист4" Then
If Target.Row =  29  And Target.Column <  4  Then
Cancel = True
Application.ScreenUpdating = False
Selection.ShowDetail = True
Application.DisplayAlerts = False

'твои штуки дрюки

ActiveSheet.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End If
End If
End Sub



Прикольно решение. Спасибо. 5 баллов за идею :)
У меня вопрос по штучкам-дрючкам :)
Ситуация следующая:
есть N-е количесто файлов в которых один лист и может называться какугодно
Мне надо создать новый лист в который нужно скопировать данные с определенных столбцов.
Код: plaintext
1.
2.
3.
4.
    Sheets.Add
    ActiveSheet.Name = "tel"
    ActiveCell.Formula = "на предыдущем листе найти поле с названием "ХХХ" и вставить на этот лист"
    Range("B1").Select
    ActiveCell.Formula = "на предыдущем листе найти поле с названием "ТТТ" и вставить на этот лист"
Ну и далее делать манипуляции.
У меня заминка как обратиться к основному листу не меняя его названия. И искомое поле не имеет определённого адреса. Вернее для файла А искомые столбцы Р и Т, для файла Б - С и М
...
Рейтинг: 0 / 0
Скрытое создание листа
    #36959935
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A_Crossкак обратиться к основному листу не меняя его названия.
Код: plaintext
.WorkSheets( 1 )
...
Рейтинг: 0 / 0
Скрытое создание листа
    #36959944
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A_Crossна предыдущем листе найти поле с названием "ТТТ" и вставить на этот лист"
именованное поле ИСКАТЬ не надо
можно просто к нему обратиться:
Код: plaintext
range("B2")=range("TTTT")
...
Рейтинг: 0 / 0
Скрытое создание листа
    #36959999
Фотография A_Cross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProA_Crossна предыдущем листе найти поле с названием "ТТТ" и вставить на этот лист"
именованное поле ИСКАТЬ не надо
можно просто к нему обратиться:
Код: plaintext
range("B2")=range("TTTT")

т.е. как-то так?:
Sheets.Add
ActiveSheet.Name = "tel"
range("B2")=range(WorkSheets(1)."TTTT")
...
Рейтинг: 0 / 0
Скрытое создание листа
    #36960016
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A_CrossShocker.Proпропущено...

именованное поле ИСКАТЬ не надо
можно просто к нему обратиться:
Код: plaintext
range("B2")=range("TTTT")

т.е. как-то так?:
Sheets.Add
ActiveSheet.Name = "tel"
range("B2")=range(WorkSheets(1)."TTTT")
как-то так
Код: plaintext
1.
2.
3.
Dim MyWS As WorkSheet
Set MyWS=WorkSheets.Add
MyWS = "tel"
MyWS.Range("B2")=WorkSheets( 1 ).Range("TTTT")
...
Рейтинг: 0 / 0
Скрытое создание листа
    #36960024
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
Dim MyWS As WorkSheet
Set MyWS=WorkSheets.Add
MyWS.Name = "tel"
MyWS.Range("B2")=WorkSheets( 1 ).Range("TTTT")
...
Рейтинг: 0 / 0
Скрытое создание листа
    #36960046
Фотография A_Cross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Shocker.Pro]A_Crossпропущено...

Код: plaintext
MyWS.Range("B2")=WorkSheets( 1 ).Range("TTTT")

неработает
...
Рейтинг: 0 / 0
Скрытое создание листа
    #36960051
Фотография A_Cross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Код: plaintext
1.
2.
3.
Dim MyWS As WorkSheet
Set MyWS=WorkSheets.Add
MyWS.Name = "tel"
MyWS.Range("B2")=WorkSheets( 1 ).Range("TTTT")

да это сразу поправил. Вот только последняя строчка на вытаскивание данных не работает
...
Рейтинг: 0 / 0
Скрытое создание листа
    #36960090
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A_Crossда это сразу поправил. Вот только последняя строчка на вытаскивание данных не работает
молча?
...
Рейтинг: 0 / 0
Скрытое создание листа
    #36960109
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня есть подозрение, что под термином "поле с названием" вы подразумеваете не то же самое, что и я
...
Рейтинг: 0 / 0
Скрытое создание листа
    #36960139
Фотография A_Cross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProA_Crossда это сразу поправил. Вот только последняя строчка на вытаскивание данных не работает
молча?исправил и пытался разобраться в коде дальше
Shocker.Proу меня есть подозрение, что под термином "поле с названием" вы подразумеваете не то же самое, что и я
например Ячейка А1=column1, B1=column2, С1=phone и т.д Причем поле phone которое мне надо скопировать на новый лист может находиться в одном документе по адресу С1, в другом F1.
Т.е. в открытом документе мне надо найти нужные столбцы "их имена" (как-то phone, клиент и прочее)
Грубо говоря:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
  Cells.Find(What:="Collumn395", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
    Columns("EK:EK").Select 'EK:EK- этот адрес меня не устаивает. хочу что-то Columns("phone")
    Selection.Copy
    Sheets.Add
    ActiveSheet.Name = "tel"
    ActiveSheet.Paste
    Application.CutCopyMode = False
...
Рейтинг: 0 / 0
Скрытое создание листа
    #36960145
Фотография A_Cross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A_CrossShocker.Proпропущено...

молча?исправил и пытался разобраться в коде дальше
Shocker.Proу меня есть подозрение, что под термином "поле с названием" вы подразумеваете не то же самое, что и я
например Ячейка А1=column1, B1=column2, С1=phone и т.д Причем поле phone которое мне надо скопировать на новый лист может находиться в одном документе по адресу С1, в другом F1.
Т.е. в открытом документе мне надо найти нужные столбцы "их имена" (как-то phone, клиент и прочее)
Грубо говоря:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
  Cells.Find(What[color=red]:="phone", [/color]After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
    Columns("EK:EK").Select 'EK:EK- этот адрес меня не устаивает. хочу что-то Columns("phone")
    Selection.Copy
    Sheets.Add
    ActiveSheet.Name = "tel"
    ActiveSheet.Paste
    Application.CutCopyMode = False
поправил
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Скрытое создание листа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]