Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 01:43 08.07.25 
Компютри и Интернет
   >> Електронни таблици
*Кратък преглед

Страници по тази тема: 1 | 2 | (покажи всички)
Тема Име на шийт във формуланови  
Автор npubem (:-)
Публикувано16.04.14 14:44



Как мога да извлека име на шийта (примерно Sheet1) в клетка от екселска
таблица и как мога да използвам клетка от таблица като име на шийт във
формула? Примерно вместо Sheet1 във формулата:
=Sheet1!A5
да използвам клетка, съдържаща името.
Предварително благодаря!

Съкращавайте фразите до размера на мисъл. М.Вайсберг


Тема Re: Име на шийт във формуланови [re: npubem]  
Автор BatiGogo ()
Публикувано16.04.14 18:07



Уточни точно какво искаш да постигнеш, че нещо не ми се връзва...
Доколкото разбрах:
1.Имаш един лист /например лист НАСТРОЙКИ/ , в който са изредени имена на листи.
2.Нейде из този лист имаш формула, дето взема нещоси от някой от изредените листа
3.И искаш тази формула да се променя? Демек по някое време /когато ти е кеф/ да казваш - НЕ ОТ ТОЯ АМИ ОТ ОНЯ ЛИСТ?

Дай инфо до тука и после ще продължим с вариантите...
Можеш да погледнеш функцията
=CELL("filename")



Тема Re: Име на шийт във формула [re: npubem]  
Автор Бypaн (ентусиаст)
Публикувано17.04.14 09:59



=INDIRECT("Sheet1!$A$5")

или

=INDIRECT(ADDRESS(5,1,1,TRUE,"Sheet1"))

Името на листа в последната формула естествено може да се взима от клетка, в която си го написал, защото не се сещам за формула, която да ти извлича името на лист. Зависи какво искаш да направиш, но ако искаш да може да си променяш името на листа, без да ти се налага да си променяш името, което си сложил в някоя клетка и от там го извличаш за горната формула, може да дефинираш име на област и с него да работиш.
Другия вариант е да си напишеш UDF, но пак зависи какво точно целиш.

Редактирано от Бypaн на 17.04.14 10:00.



Тема Re: Име на шийт във формуланови [re: BatiGogo]  
Автор npubem (:-)
Публикувано18.04.14 23:35



Като начало искам да взема имената на листите в един файл
и да ги сложа като списък в data-validtion на една клетка, за
да мога да ги избирам.
После според избора да взема данни от съответния лист според
стойността на тази клетка.

Съкращавайте фразите до размера на мисъл. М.Вайсберг


Тема Re: Име на шийт във формуланови [re: Бypaн]  
Автор npubem (:-)
Публикувано18.04.14 23:42



Благодаря! Това върши работа за втората част от задачата ми.
Ще трябва списъка с шийтове да го направя и актуализирам ръчно.

Съкращавайте фразите до размера на мисъл. М.Вайсберг


Тема Re: Име на шийт във формуланови [re: npubem]  
Автор BatiGogo ()
Публикувано19.04.14 08:43



Аз бих направил макрос за записване на имената на листите в единия от листата... Например;

Sub Proba1()
Dim List1 As String, Broi As Integer
List1 = "DANNI" 'листа в който ще се записва
Broi = 1
For Each Element In ThisWorkbook.Sheets
If Element.Name <> List1 Then 'без текущия лист
Broi = Broi + 1
Sheets(List1).Cells(Broi, 1).Value = Element.Name
End If
Next
'може да потрябва по-нататъка - бройката на листите
Sheets(List1).Cells(1, 1).Value = Broi - 1
End Sub

И после ако искам в клетка А1 на всеки лист да "драсна" нещо - примерен код:


Sub proba2()
Dim I As Integer, Broi As Integer, List1 As String, List2 As String
List1 = "DANNI"
Broi = Sheets(List1).Cells(1, 1).Value
For I = 2 To Broi + 1
List2 = Sheets(List1).Cells(I, 1).Value
Sheets(List2).Cells(1, 1).Value = "Името на този лист е:" + List2
Next
End Sub

Ама ако не можеш писа макроси, хич не се сещам...Сигурно ще трябват много IF-ове да се нацвъкат един в друг...



Тема Re: Име на шийт във формуланови [re: BatiGogo]  
Автор npubem (:-)
Публикувано19.04.14 13:47



Благодаря и на теб!
И това ще ми бъде от полза. Справям се с макросите.

Намерих и още нещо по въпроса - готови макроси, където е добавена
функция "sheetname"



Съкращавайте фразите до размера на мисъл. М.Вайсберг

Тема Re: Име на шийт във формуланови [re: npubem]  
Автор Minavasht_new-208743 (непознат )
Публикувано23.04.14 07:56



Извън Темата !
Е , най-после някаква тема/раздвижване във Форума


Ама пааак същите хора, къде изчезнаха хората ! В други Форуми
или във Facebook ли !



Тема Re: Име на шийт във формуланови [re: Minavasht_new-208743]  
Автор npubem (:-)
Публикувано23.04.14 11:26



Вероятно хората се опитват да се справят сами или с Гугъл,
без да попитат знаещите, а може би за да не ги помислят за
глупави?
Тук винаги съм получавал бързи и професионални отговори.

Пък други форуми съвсем се затриха...

Съкращавайте фразите до размера на мисъл. М.Вайсберг


Тема Re: Име на шийт във формуланови [re: npubem]  
Автор Minavasht_new-208743 (непознат )
Публикувано23.04.14 20:49



Ако правилно съм разбрал за Data Validation ! Моя куца проба :)

В отговор на:


Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = Range("B1").Address Then
Dim ValidationList() As Variant, i As Integer
Dim WSht As Worksheet
i = 0
ReDim ValidationList(ActiveWorkbook.Sheets.Count - 1)
For Each WSht In ActiveWorkbook.Sheets
ValidationList(i) = WSht.Name
i = i + 1
Next WSht

With Range("B1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlEqual, Formula1:=Join(ValidationList, ",")
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End If
End Sub



Макроса трябва да се сложи в Sheet-a в който е клетката дето трябва да се случва случката. Написал съм, че е B1 ти ще я смениш .... Според мен може да се направи да следи всчики клетки от Колона и да сменя Data Validation в повече клетки едновременно , Range("В1:B20") и пр.
Идеята е като кликнеш на клетката, обновява Листа и реално се избира от Актуален Лист. Дано да върши работа :)
P.S.
Верно от Интернет си дръпнах част от информацията.

Редактирано от Minavasht_new-208743 на 23.04.14 21:06.




Страници по тази тема: 1 | 2 | (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.