Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: [Excel] Zmiana zakresu.
Mroowek




Typ: neutral
Postów: 51
Zarejestrowany: Feb 2005
[Excel] Zmiana zakresu.

Powiedzmy, że mamy zakres $C$5:$H$5.
Czy istnieje jakas prosta metoda aby ten zakres podniesc o jeden wiersz wyzej? (Tak aby otrzymac
$C$4:$H$4).

Jeśli jest jakas gotowa funkcja na to to prosze o podpowiedz a jesli nie ma to sobie zrobie na to funkcje.
Dzieki Pozdrawiam.

11-03-2005 19:48
Pokaż profil Mroowek  Wyślij email do Mroowek        4892300
Mroowek




Typ: neutral
Postów: 51
Zarejestrowany: Feb 2005
Wątek wygasa... chyba ze ktos ma cos ciekawszego.

Zrobilem to na sztywno.
Zamienilem 5-ki na 4-ki funkcja Replace.

Pozdrowionka

11-03-2005 20:10
Pokaż profil Mroowek  Wyślij email do Mroowek        4892300
karolinavb




Typ: neutral
Postów: 468
Zarejestrowany: Jan 2003

Nie dokładnie zrozumiałam gdzie ten zakres chcesz zmienić, ale np. jeśli mamy wyrażenie :

=SUMA($C$4:$H$4)

to suma zakresu "przeniesionego w 1-den wiersz niżej będzie miała zapis:

=SUMA(PRZESUNIĘCIE($C$4:$H$4;1;0;ILE.WIERSZY($C$4:$H$4);LICZBA.KOLUMN($C$4:$H$4)))

gdzie
1 - liczba wierszy o jaki przeuwamy zakres

0- liczba kolumn o jaki przesuwamy zakres

a jeżeli skorzystamy z wprowadzania nazw i naszemu zakresowi nadamy nazwę np "staryzakres" to zapis bedzie :

=SUMA(PRZESUNIĘCIE(staryzakres;1;0;ILE.WIERSZY(staryzakres);LICZBA.KOLUMN(staryzakres)))


_____________________________________________
Karolina

12-03-2005 00:26
Pokaż profil karolinavb  Wyślij email do karolinavb   
Mroowek




Typ: neutral
Postów: 51
Zarejestrowany: Feb 2005

Dzieki Karolino

hmmm:
-mam w stringu zakres $C$5:$H$5, czyli zakres w wierszu 5.
strAdrW5="$C$5:$H$5"
-potrzebny mi byl adres o jeden wiersz wyzej w tych samych kolumnach, czyli $C$4:$H$4.

w VBA zrobilem to funkcją Replace:
strAdrW4=Replace("$C$5:$H$5","5","4" )


Troche to łopatologiczne ale dziala i to mnie usatysfakcjonowalo lecz zastanawialo mnie czy mozna to jakos inaczej rozwiazac pod VBA?

Chyba troche mojej winy widze, bo chodzilo mi o rozwiazanie tego w VBA, a dalem w temacie nagłówek o Excelu... Sorki wielkie

I dzieki jeszcze raz Karolino.
Pozdrowionki
i dobranoc.

[Post edytowany dnia 12-03-2005 04:10 przez Mroowek]

12-03-2005 04:05
Pokaż profil Mroowek  Wyślij email do Mroowek        4892300
karolinavb




Typ: neutral
Postów: 468
Zarejestrowany: Jan 2003

Wprawdzie wiele zależy od tego do czego potem chcesz ten zakres użyć, ale generalnie w VBA można posłużyć się właściwością Offset , ale można np. tak:

Dim oRng As Range
Set oRng = Sheets("Arkusz3" ).Range("$C$4:$H$4" )
MsgBox oRng.Offset(1, 0).Address

albo z nazwą zakresu odpowiednio do poprzedniego postu (do czego zawsze gorąco namawiam)

Set oRng = Sheets("Arkusz3" ).Range("staryzakres" )
MsgBox oRng.Offset(1, 0).Address


_____________________________________________
Karolina

12-03-2005 09:03
Pokaż profil karolinavb  Wyślij email do karolinavb   
Mroowek




Typ: neutral
Postów: 51
Zarejestrowany: Feb 2005
Trafilas w dziesiatke Karolino!!! :)

O to chodzilo!!! Offset


Dim Adres as String, AdresPrzesuniety as String
Adres="$C$5:$H$5"
AdresPrzesuniety = Range(Adres).Offset(-1, 0).Address
MsgBox Adres & vbCrlf & AdresPrzesuniety


W rezultacie daje "$C$4:$H$5"
No i tego szukalem.
A co do nazw zakresow to jakiś czas temu dotarlem do Twojego opracowania dotyczacego właśnie nazw, zamieszczonego na tym forum i wykorzystuje Twoje porady dotyczace tegoż tematu. W tamtym opracowaniu użyłaś funkcji Offset do określania nazwy zakresu "do pierwszej pustej" komorki.
Tylko jakoś nie skojarzylem tej funkcji.

Wielkie podziękowania Karolino.
Pozdrawiam

[Post edytowany dnia 12-03-2005 18:49 przez Mroowek]

12-03-2005 18:48
Pokaż profil Mroowek  Wyślij email do Mroowek        4892300
Wszystkich odpowiedzi: 5 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1