Chodzi mi o ułatwienie sobie pracy:).
Mam arkusz kalkulacyjny, gdzie mam po kolei wypisane: kolumna A – LP. ; kolumna B – nazwa,; kolumna C – data; kolumna D – kwota.
I mam po kolei wypisane np. 1000 pozycji, sortowane wg nazwy (w nazwie mam hotele).
Muszę zrobić tak, aby każdy hotel miał osobny plik-z tym, ze hotel np. Hilton może mieć 20 pozycji, a hotel Sheraton np. dwie pozycje. Do tej pory jak mialam taki plik, tworzyłam z niego nowe arkusze wciskajac po kolei “kopiuj -zaznaczalam pozycje – nowy plik – wklej”. Chcialabym jakos sobie to ułatwić, bo zajmuje mi to duzo czasu. Jest jakas możliwość zrobic to inaczej? Jakas funkcja?
Nie wiem czy zrozumiale wytłumaczyłam .
13 odpowiedzi na pytanie: Do ekspertek w excelu
kurcze, ja nie bardzozrozumialam o co chodzi, ale u mnie to wina lekkiego przemeczenia i ciezko mi sie skupic, ale wiem ze w accesie (pakiet ofiica) mozna robic rozne cuda – wrzucasz dane z exela i mieszasz sobie, np kazesz sortowac tylko po datach, wybierac tylko nazwiska na litere z powiedzmy itd – i w sumie latwa sprawa jest zabawa w accesie – jezeli czesto korzystasz z tego co mowisz warto poswiecic troche czasu i zrobic sobie taka baze.
mój mąż mówi, że nie ma takiej opcji/funkcji zeby automatycznie ci rekordy porozrzucało w pliki (o ile dobrze cię zrozumieliśmy)
jedyne przyspieszenie możesz uzyskac stosując skróty z klawiatury ctrl+c i ctrl+v po zaznaczeniu rubryk
a mi jednye co by mogło ci pomóc a mi przychodzi do głowy to założenie filtrów na nazwy i wtedy to kopiowanie byłoby szybsze no chyba, że tak robisz -tzn zakłądasz filtr i masz albo same aaaaa albo same bbbbb w arkuszu, wtedy kopiowanie idzie szybko bo zaznaczasz wsio co masz a wyjściowy plik jest dalej taki sam
W imieniu Ani mogę zaproponować następujące makro:
[code]
Dim zakres As Range
Dim rabaty As Workbook
Dim komorki As Range
Set rabaty = ActiveWorkbook
sciezka = rabaty. Path
nazwa = rabaty. Name
Set zakres = Application.InputBox(“Wybierz hotel”,,,,,,, 8)
region = zakres. Cells(1, 1).Value
Selection.AutoFilter Field:=2, Criteria1:=region
Range(“A1”). Select
Range(Selection, Selection.End(xlDown)). Select
Range(Selection, Selection.End(xlToRight)). Select
Set komorki = Selection
Set Newbook = Workbooks.Add
With Newbook
. Title = “Arkusz”
. SaveAs Filename:=sciezka & “” & Left(nazwa, InStr(1, nazwa, “.”) – 1) & ” – ” & LCase(region) & “.xlsx”, FileFormat:=xlOpenXMLWorkbook
.Worksheets(1).Activate
End With
komorki. Copy (Worksheets(1).Range(“A1”))
Range(“A1”). Select
Range(Selection, Selection.End(xlDown)). Select
Range(Selection, Selection.End(xlToRight)). Select
With Selection
.Rows.RowHeight = 26
. Columns.AutoFit
End With
Rows(“1:1”).AutoFilter
With ActiveWindow
. SplitColumn = 3
. SplitRow = 1
.FreezePanes = True
End With
Columns(“A:BA”).AutoFit
With Newbook
. Save
. Close
End With
rabaty.Activate
[/code]Po uruchomieniu pokaże się okienko pozwalające wybrać dany hotel – trzeba kliknąć na daną nazwę, a wtedy autofiltr automatycznie wybierze wszystkie wpisy z danym hotelem, oraz skopiuje wyfiltrowany zakres do nowego pliku i go zapisze. Ponieważ mój skrypt właściwy działał nieco inaczej (lista w moim przypadku regionów była zamknięta i zdefiniowana w makro, ponadto skrypt wysyła zapisany plik mailem) musiałem go edytować na sucho, może więc się zdarzyć, że coś nie działa do końca właściwie.
Makro zapisuje plik do Excela 2007, oraz blokuje trzy pierwsze kolumny – [code]With ActiveWindow
. SplitColumn = 3
. SplitRow = 1
.FreezePanes = True
End With[/code]Do jego porawnego działania niezbędne jest założenie autofiltra na pierwszy wiersz, oraz to, żeby w pierwszym wierszu każda kolumna, która ma być skopiowana miała coś wpisane.
W razie co służę szczegółami na priv.
aniast – jestem pod wrażeniem!
serio!!
No wlasnie tak robie ale mi zabiera to mnostwo czasu. Jak mam do zrobienia 2000 rubryk – wychodzi jakies 300 plikow 🙁
Tez tak probowalam – taka sama robota, bo na przyklad na A mam 20 hoteli i tez musze dzialac kopiuj-wklej.
A to juz wyzsza szkola jazdy :). Popytam meza, bo nie wiem o czym do mnie piszesz ;). Musze to zglebic i jak nie dam rady odezwe sie na priv.
dzieki :).
To tak jak ja 🙂
szacun!
co masz w tym innym pliku z hotelami?
czy tylko chodzi o to, zeby w arkuszu tylko ten wybrany hotel był? autofiltr nie przejdzie? Możesz wtedy wyświetlać tylko pozycje które mają np. Hiltona w nazwie, reszta jest niewidoczna. Takie coś by wystarczyło?
Anka wow!
Nie, ja musze miec kazdy hotel zapisany w osobnym pliku. Nie tylko do mojej wiadomosci/obliczen – musze to wysylac.
Ania – jesteś niesamowita!
bez makra kopiowałabym całe pliki i wykasowywała niepotrzebne linie.
Juz mam 🙂
Ania_st – buziaki!
Znasz odpowiedź na pytanie: Do ekspertek w excelu