vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest wtorek, 14 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Pobieranie nazwy arkusza


otwartyotwarty rozpoczął: gadhet postów: 19



napisał: sake13
postów: 23


umieszczony:
12 września 2007
09:51

  
SUUUUPER!! Dzięki wielkie
napisał: Trebor
postów: 1209


umieszczony:
10 września 2007
18:29

  
Czy tak będzie dobrze?
Sub pliki()
Dim scieżka As String
Dim plik As String
Dim licznik As Integer
scieżka = "C:\Documents and Settings\Administrator\Szablony\Pulpit\*.xls"
plik = Dir(scieżka)
Do While plik <> ""
licznik = licznik + 1
Cells(licznik, 1) = plik
plik = Dir
Loop
End Sub

napisał: sake13
postów: 23


umieszczony:
10 września 2007
13:04

  
Te makra sprawdzają czy plik podany przezemnie istnieje w danym folderze.
Ja chce, mając pliki w jakimś folderze, żeby makro pobrało ich nazwy i wpisało mi do arkusza xls.
napisał: jalamas
postów: 316


umieszczony:
8 września 2007
08:36

  
Może Application.FileSearch.
Przeczytaj:
http://forum.idg.pl/index.php?showtopic=48594

uwagi Rysia i Jottada, uważnie.

Obejrzyj w helpie możliwe wartości właściwości FileType (na przykład msoFileTypeExcelWorkbooks) obiektu Application.FileSearch, nie wiem o jakie typy plików Ci chodzi.
Także właściwość SearchSubFolders.
napisał: sake13
postów: 23


umieszczony:
7 września 2007
15:19

  
Witam
A co zrobić w przypadku kiedy chce pobrać nazwy plików znajdujących się w folderze?
pozdrawiam serdecznie
napisał: michuemsi
postów: 9


umieszczony:
9 lutego 2006
20:41

  
Wielkie dzieki
napisał: Trebor
postów: 1209


umieszczony:
9 lutego 2006
16:47

  
Witam
Cytat:
Dzięki ale nie dokładnie o to mi chodziło.
Problem wygląda tak:
Uruchamiam makro z dowolnego arkusza.(n-tego)
Makro kopiuje mi dane z tego arkusza (n-tego) do innego.
Wykonuje tą operację (kopiowania) kilka razy. No i nie wiem jak zrobić powrót do (n-tego) arkusza po przeniesieniu sie do innego.
I do tego potrzebna byłaby mi chyba nazwa nie ???
A może mogę inaczej to zrobić ??

Potrzebna nazwa
nazwa = ActiveSheet.Name
lub nr arkusza
numer = ActiveSheet.Index

jeśli chodzi o kopiowanie to nie ma potrzeby zmieniać arkusza (select), można tak
Sheets("Arkusz1").Range("A1:A2").Copy Sheets("Arkusz2").Range("B1")
Pozdrawiam
napisał: michuemsi
postów: 9


umieszczony:
9 lutego 2006
12:32

  
Dzięki ale nie dokładnie o to mi chodziło.
Problem wygląda tak:
Uruchamiam makro z dowolnego arkusza.(n-tego)
Makro kopiuje mi dane z tego arkusza (n-tego) do innego.
Wykonuje tą operację (kopiowania) kilka razy. No i nie wiem jak zrobić powrót do (n-tego) arkusza po przeniesieniu sie do innego.
I do tego potrzebna byłaby mi chyba nazwa nie ???
A może mogę inaczej to zrobić ??
napisał: admin
postów: 613


umieszczony:
9 lutego 2006
11:16

  
Cytat:
Wszytsko chodzi ładnie pieknie.
Tylko jak nazwe arkusza od razu dostac w zmiennej ??


Aktywny skoroszyt i pierwszy arkusz:
strName = ActiveWorkbook.Worksheets(1).Name

napisał: michuemsi
postów: 9


umieszczony:
9 lutego 2006
10:53

  
Wszytsko chodzi ładnie pieknie.
Tylko jak nazwe arkusza od razu dostac w zmiennej ??
napisał: Stanislaw
postów: 109


umieszczony:
26 września 2005
12:45

  
Sądzę, że od tego jest właśnie forum dyskusyjne
- aby zadawać na nim pytania.

"Kto pyta, nie błądzi",
a więc nie należy mieć jakichkolwiek obaw związanych
z umieszczaniem postów (byle zgodnych z Regulaminem).

Zachęcałbym do nadsyłania problemów, bo właśnie dzięki temu forum żyje. Nieważne czy są to pytania początkujących, czy ekspertów.

Ważne, aby służyło to stałemu rozwojowi.
Mozna być początkującym, ale stale iść do przodu,
a można też być ekspertem, ale zatrzymać się w rozwoju.

--
Stanislaw
napisał: gadhet
postów: 14


umieszczony:
26 września 2005
12:05

  
Cytat:
Rzeczywiście - przepraszam za zamieszanie.

Teraz powinno być już dobrze:


ActiveCell.Formula = _
"=MID(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))+1,LEN(CELL(""filename"",A1))-FIND(""]"",CELL(""filename"",A1)))"

--
Stanislaw


To ja przepraszam ze przeszkadzam i prawdopodobnie pytam sie o proste rzeczy,ale jak sie uczy dopiero tego wszytskiego to tak jest.Jeszcze raz dziekuje i przepraszam.POzdrawiam
napisał: Stanislaw
postów: 109


umieszczony:
26 września 2005
11:27

  
Rzeczywiście - przepraszam za zamieszanie.

Teraz powinno być już dobrze:


ActiveCell.Formula = _
"=MID(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))+1,LEN(CELL(""filename"",A1))-FIND(""]"",CELL(""filename"",A1)))"

--
Stanislaw
napisał: gadhet
postów: 14


umieszczony:
26 września 2005
11:12

  
Cytat:
W takim razie spróbuj zastosować kod:

ActiveCell.Formula = _
"=MID(CELL(""filename"",A1),FIND(""["",CELL(""filename"",A1))+1,FIND(""]"",CELL(""filename"",A1))-FIND(""["",CELL(""filename"",A1))-1)"

Jakby nie zadziałał daj znać będę szukał dalej.

--
Stanislaw


wszytsko działałoby prawidłowo,tylko wpisuje mi nazwe pliku a nie arkusza
napisał: Stanislaw
postów: 109


umieszczony:
26 września 2005
10:56

  
W takim razie spróbuj zastosować kod:

ActiveCell.Formula = _
"=MID(CELL(""filename"",A1),FIND(""["",CELL(""filename"",A1))+1,FIND(""]"",CELL(""filename"",A1))-FIND(""["",CELL(""filename"",A1))-1)"

Jakby nie zadziałał daj znać będę szukał dalej.

--
Stanislaw
napisał: gadhet
postów: 14


umieszczony:
26 września 2005
09:31

  
Cytat:
Nazwę arkusza wraz z nazwą skoroszytu i pełną ścieżką dostępu można zobaczyć po wprowadzeniu do komórki formuły:

=KOMÓRKA("nazwa_pliku")

Natomiast aby w komórce pojawiła się nazwa bieżącego arkusza należy odnaleźć w ciągu znaków,
który zwróci powyższa formuła znak "]" i pobrać znaki leżące na lewo od niego.

Można to zrobić przy pomocy m. in. funkcji:
FRAGMENT.TEKSTU
ZNAJDŹ

Ostatecznie formuła zwracająca nazwę arkusz mogłaby wyglądać tak:

=FRAGMENT.TEKSTU(KOMÓRKA("nazwa_pliku";$A$1);ZNAJDŹ("]";KOMÓRKA("nazwa_pliku";$A$1))+1;DŁ(KOMÓRKA("nazwa_pliku";$A$1)))

Aby to zrobić za pomocą VBA należy użyć:
ActiveCell.FormulaLocal = _
"=FRAGMENT.TEKSTU(KOMÓRKA(""nazwa_pliku"";$A$1);ZNAJDŹ(""]"";KOMÓRKA(""nazwa_pliku"";$A$1))+1;DŁ(KOMÓRKA(""nazwa_pliku"";$A$1)))"


wtedy do arkusza zostanie wstawiona formuła.

Uwaga:
Aby formuła zwróciła nazwę arkusza skoroszyt musi być zapisany na dysku (lub innym nośniku danych).

--
Pozdrawiam
Stanislaw


Wielkie dzieki Stanislaw za pomoc,jednak jeszcze malutka prośba czy w excelu angielskim będzie to działać czy trzeba pozamieniać teksty polskie na angielskie, bo powyższa formuła nie działa mi tylko wyświetla mi: #name?.Próbowałem zmienić nazwy polskie w formule na angielskie,ale też nie pomogło,chyba,że źle przetłumaczyłem.Jeśli ktoś mógłby podać ten skrypt dla angielskiego excela byłbym wdzięczny
napisał: Stanislaw
postów: 109


umieszczony:
25 września 2005
09:10

  
Tekst
Cytat:

> i pobrać znaki leżące na lewo od niego.


powinien brzmieć:

i pobrać znaki leżące na prawo od niego.

--
Stanislaw
napisał: Stanislaw
postów: 109


umieszczony:
25 września 2005
09:06

  
Nazwę arkusza wraz z nazwą skoroszytu i pełną ścieżką dostępu można zobaczyć po wprowadzeniu do komórki formuły:

=KOMÓRKA("nazwa_pliku")

Natomiast aby w komórce pojawiła się nazwa bieżącego arkusza należy odnaleźć w ciągu znaków,
który zwróci powyższa formuła znak "]" i pobrać znaki leżące na lewo od niego.

Można to zrobić przy pomocy m. in. funkcji:
FRAGMENT.TEKSTU
ZNAJDŹ

Ostatecznie formuła zwracająca nazwę arkusz mogłaby wyglądać tak:

=FRAGMENT.TEKSTU(KOMÓRKA("nazwa_pliku";$A$1);ZNAJDŹ("]";KOMÓRKA("nazwa_pliku";$A$1))+1;DŁ(KOMÓRKA("nazwa_pliku";$A$1)))

Aby to zrobić za pomocą VBA należy użyć:
ActiveCell.FormulaLocal = _
"=FRAGMENT.TEKSTU(KOMÓRKA(""nazwa_pliku"";$A$1);ZNAJDŹ(""]"";KOMÓRKA(""nazwa_pliku"";$A$1))+1;DŁ(KOMÓRKA(""nazwa_pliku"";$A$1)))"


wtedy do arkusza zostanie wstawiona formuła.

Uwaga:
Aby formuła zwróciła nazwę arkusza skoroszyt musi być zapisany na dysku (lub innym nośniku danych).

--
Pozdrawiam
Stanislaw
napisał: gadhet
postów: 14


umieszczony:
25 września 2005
00:09

  
Znowu mam problem i licze na pomoc!!
Chcialbym wstawic nazw arkusza do komórki czy moze mi ktos napisac formule w vba,bo tego nie potrafie.Wiem jak zmienic nazwe arkusza ale nie wiem jak pobrac ta nzwe :(


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z