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

Nazwa arkusza i petla???


otwartyotwarty rozpoczął: gadhet postów: 11



napisał: Stanislaw
postów: 109


umieszczony:
24 września 2005
02:29

  
> operacja "next ark"wykonuje sie nastepnie dla tego nowego pliku a co mnie nie urzadza

Tak jednak nie jest, ponieważ gadhet użył "ThisWorkbook.Worksheets" co oznacza, że kod będzie wykonywany dla kolejnych arkuszy skoroszytu, z którego został uruchomiony kod.

Abyś miał co testować podsyłam poniższy kod
Sub Kopiowanie_do_arkuszy()

Dim ark As Worksheet
Dim i As Long

i = 1

Application.ScreenUpdating = False


    For Each ark In ThisWorkbook.Worksheets
        ark.Range("A1:E7").Copy
        Workbooks("Zeszyt2.xls").Worksheets(i).Activate
        Range("A1").Select
        Worksheets(i).Paste
        i = i + 1
    Next ark
    
Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub


Ilość arkuszy w skoroszycie "Zeszyt2.xls" nie może być mniejsza niż w skoroszycie
z którego jest uruchamiany kod.

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


umieszczony:
24 września 2005
00:33

  
Cytat:
Jeżeli mają być wybierane po kolei arkusze to coś takiego powinno wystarczyć:

For Each ark In ThisWorkbook.Worksheets

' tu następują instrukcje, które
' program ma wykonać po odnalezieniu arkusza

Next ark


ta formula by bardzo pasowala,jednak to co chce zrobic to zaznaczenie i skopiowanie jakiegos zakresu komórek do nowego pliku i arkusza,wiec operacja "next ark"wykonuje sie nastepnie dla tego nowego pliku a co mnie nie urzadza wiec dalej proze o pomoc??????
napisał: Kosmo
postów: 33


umieszczony:
22 września 2005
11:35

  
Jeżeli mają być wybierane po kolei arkusze to coś takiego powinno wystarczyć:

For Each ark In ThisWorkbook.Worksheets

' tu następują instrukcje, które
' program ma wykonać po odnalezieniu arkusza

Next ark
napisał: gadhet
postów: 14


umieszczony:
22 września 2005
10:09

  
Cytat:
Piszesz:
> Jesli mozesz to napisz mi aby losowo wybieral arkusze tylko ktore sa

A czy nie mogłoby po prostu być tak (bez wielkich kombinacji),
że makro robiłoby jakieś operacje na kolejnych arkuszach ze skoroszytu,
niezależnie od tego jak ten arkusz się nazywa?

--
Stanislaw


tak mogloby byc,ale wlasnie tego nie wiem jak zrobic jesli mozesz to napisz
napisał: Kosmo
postów: 33


umieszczony:
22 września 2005
07:17

  
Czy coś takiego Cię satysfakcjonuje?

Sub Przeglądaj_arkusze()
nazwa_pocz = 1999
nazwa_konc = 2030
Do While nazwa_pocz < nazwa_konc
For Each ark In ThisWorkbook.Worksheets
If ark.Name = CStr(nazwa_pocz) Then
' tu następują instrukcje, które
' program ma wykonać po odnalezieniu arkusza
End If
Next ark
nazwa_pocz = nazwa_pocz + 1
Loop
End Sub


Pozdrawiam
napisał: Stanislaw
postów: 109


umieszczony:
21 września 2005
16:40

  
Piszesz:
> Jesli mozesz to napisz mi aby losowo wybieral arkusze tylko ktore sa

A czy nie mogłoby po prostu być tak (bez wielkich kombinacji),
że makro robiłoby jakieś operacje na kolejnych arkuszach ze skoroszytu,
niezależnie od tego jak ten arkusz się nazywa?

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


umieszczony:
21 września 2005
13:42

  
Cytat:
Czy chodzi Ci o coś takiego, że pojawia się okno z prośbą o podanie nazwy szukanego arkusza a następnie program sprawdza, czy taki arkusz istnieje?


mam np. plik o nazwie "book.xls" w tym pliku sa arkusze tak jak pisalem od 20000,20005,20010,20012 ttd ,arkusze nie sa w jakiejs chronologii,maja nr dowolne ale wzrastajace,wiec chodzi mi o to czy da sie jakos napisac petle ktora by szla np od 20000 i sprawdzala czy istnieje dany arkusz .Np.zaczyna sie petla od 20000 i jest arkusz wiec w tym arkuszy nastepuje kopiowanie jakisch zakresow do innego calkiem nowego pliku np "book1.xls",nastepnie po skopiowaniu,dalej by szla petla i jesli 20001 nie ma takiego arkusza wiec liczy dalej,20002-nie ma wiec dalej...,trafia na 20005 i jest arkusz wiec znowu nastepuje kopiowanie i tak dalej.nie wiem jak napisac taki skrypt zeby sprawdzal cos takiego moze ktos pomoc
napisał: Kosmo
postów: 33


umieszczony:
21 września 2005
12:33

  
Czy chodzi Ci o coś takiego, że pojawia się okno z prośbą o podanie nazwy szukanego arkusza a następnie program sprawdza, czy taki arkusz istnieje?
napisał: gadhet
postów: 14


umieszczony:
21 września 2005
10:23

  
Cytat:
Odnalezienie arkusza można by zrealizować za pomocą pętli for each..next, a jak już znajdziesz arkusz to zaznaczenie obszaru powinno być proste.


Jesli mozesz to napisz mi aby losowo wybieral arkusze tylko ktore sa
napisał: Kosmo
postów: 33


umieszczony:
21 września 2005
09:55

  
Odnalezienie arkusza można by zrealizować za pomocą pętli for each..next, a jak już znajdziesz arkusz to zaznaczenie obszaru powinno być proste.
napisał: gadhet
postów: 14


umieszczony:
21 września 2005
09:32

  
mam taki problem.Czy jest taka mozliwosc napisania jakiegos makra,ktore robiloby cos takiego:
Powiedzmy, ze mam kilkadziesiat arkuszy w jednym pliku.Arkusze te maja np.numeracje taka: 20005,20010,20012,20023 i tak do pewnego momentu np.do 20234.jak widac nazwy tych arkuszy sa przypadkowe.I teraz moja prosba czy jest mozliwe napisanie petli np od 20000 do 20500,ktora sprawdzalaby czy istnieje dany arkusz i jelsi istnieje wykonywala by sie instrukcja np zaznaczenia jakiegos obszaru w tym arkuszy i kopiowanie go do nowego arkusza i tak dalej,aby sprawdzal tylko te arkusze ktore sa.Bylbym wdzieczny za pomoc.POzdrawaiam


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z