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
|
|