Z kolumną J jednak nie dokonca jest w porządku ponieważ aktualizuje komórki aż za tabelkę To można zakres wziąć z kol H (czyli J wypełni do L.p 10) [syntax=vbscript]Range("j8").AutoFill Range("J8:J" & Range("H" & Rows.Count).End(xlUp).Row), xlFillSeries[/syntax]
[syntax=vbscript]Sub NowaKolumna() nk = Cells(60, Columns.Count).End(xlToLeft).Column + 1 Range("H60:H80").Copy Cells(60, nk) Application.CutCopyMode = False End Sub [/syntax]
Chyba chodzi tylko o podstawienie zakresu (pierwsza część makra), wtedy [syntax=vbscript]c = ActiveCell.Column r = ActiveCell.Row If c > 5 Then Range(Cells(r, c - 5), Cells(r, c - 1)).Select[/syntax]
Witaj. Zakładając, że oryginalne dane na pierwszym arkuszu, a wynik na drugi: [syntax=vb]Sub upraw() Dim bsk As Range, bsr As Range Dim rb&, rd&, cd&, cm& Set bsk = ThisWorkbook.Sheets(1).Columns(1).Cells Set bsr = ThisWorkbook.Sheets(1).Range("B:J").Rows rb = 2: rd = 2 With ThisWorkbook.Sheets(2) bsk(1).Copy .Cells(1, 1): bsr(1).Copy...
[syntax=vbscript]Sub Scal() ow = Cells(Rows.Count, "A").End(xlUp).Row b = 1 For x = 1 To ow If Not f Then b = x f = True End If If Cells(x + 1) <> Cells(x, 1) Then Range(Cells(b, 2), Cells(x, 2)).Merge Cells(b, 2) = Cells(x, 1) f = False End If Next End Sub[/syntax]
Dopasuj sobie takie makro: [syntax=vbscript]Sub Przelicz() Dim cel As Range With Worksheets("Generator cen") For Each cel In Worksheets("310").Range("A2:A180") .Range("B3") = cel.Value cel.Offset(, 3) = .Range("B26").Value Next cel End With End Sub[/syntax] Po otwarciu załącznika zapisz go sobie w formacie .xlsm. Ja użyłem starego formatu .xls ze względu...
1) Lista musi mieć ciągły zakres. Najlepiej wykorzystać do tego osobny arkusz. Trochę można zautomatyzować (patrz załącznik). Założyłem, że nazwa firmy w Arkusz1 występuje co 13 wierszy. 2) W przykładzie wykorzystałem VBA (Select Case) i ukrywanie/odkrywanie wierszy 3) j.w.
[syntax=vbscript]Sub Kopiuj() Set a = ActiveWorkbook i = Application.FileDialog(msoFileDialogOpen... s = Application.FileDialog(msoFileDialogOpen... Set b = Workbooks.Open(s) a.Sheets(1).Range("K20:M23").Copy b.Sheets(1).Range("K20") b.Close True End Sub [/syntax]
Było. Poszukaj w archiwalnych tematach. [syntax=vbscript]Sub UsunWiersze() For x = 100 To 49 Step -1 a = Cells(x, "B") If a <> "" And a = 0 Then Rows(x).EntireRow.Delete Next End Sub[/syntax]
To w makrze zaznacz zakres i wykonaj makro na tym zakresie.
zamiast ActiveWorkbook.Worksheets("reporting 27.01") naprosto ActiveSheet p.s. ThisWorkbook to caly skoroszyt, w którym makro
Jeśli dobrze rozumiem wystarczy przesunąć zakresy. Przykład w załączniku.
(at)lanzul Odpada na pewno konwertowanie do exe-a bo wtedy skoroszyt będzie bez możliwości modyfikacji (tak jak read only) Tzn. pierwsza opcja to załóżmy jeśli arkusz był otwarty 10 razy to 11 raz się nie otworzy. Druga opcja jeśli mam y określoną datę to arkusz się nie włączy To tak jak adamas wspomniał Workbooks_Open ale łatwe do obejścia
Jeśli makro, następnie tak
Jest wystarczająco fragment z zmodyfikowanymi danymi, nie należy wskazać prawdziwe i wszystko 7. Kopiuje zakres np. linii P P, P1 lub P2 - z którego to zależy?
Pętla, podstawianie (replace), porównywanie długości ciągów (len), rozbijanie ciągów (split), podstawianie, porównywanie, rozbijanie, itd. W zależności, czy warunek spełniony wstawianie wiersza, dodanie wartości, mnożenie *10, lub przepisanie. Mnóstwo kombinacji, ale do zrobienia.
If k <= Date Then Cells(k.Row, k.Column) = "" A jeżeli zakres nie jest w aktywnym arkuszu?
Skopiowany zakres do nowego arkusza nie jest obszarem nazwanym Tabela_test, stąd błąd.
Jak już zrobiłeś taką ładną tabelkę, to pomyśl, czy nie lepiej, zamiast zagnieżdżać wiele razy funkcję jeżeli(), dać sumowanie warunkowe albo liczbę komórek niepustych z zakresu od podanego dnia do końca miesiąca. Jedynym tematem będzie eleganckie podstawienie adresu początku zakresu do funkcji. Osobiście zaznaczyłbym dni robocze jako niepuste (dowolny...
1. Wyrzuć "górne" r=r+1, ustaw (u góry) r=2 jeśli... sam już nie wiem. Wypróbuj. 2. Nie ta metoda. Musiałbyś copy-paste i wybierając (select) wiersz (zakres) docelowy. P.S. Zmykam. Dobranoc ;)
Sprawa dość prosta. Procedura zdarzeniowa arkusza "przy zmianie" Range(zakres).Find i przypisywanie...
Jeśli cały wiersz po użyciu filtra, to np. tak: [syntax=vbnet]Debug.Print ActiveSheet.AutoFilter.Range.SpecialCell... jest pokazane jak wydrukować adres tego zakresu, ale pomijając Address możesz sobie zrobić z tego odwołanie.
dziekuje bardzo... a czy makro mogloby wklejać ten zakres jako wartości??
Witajcie Może się Wam to przyda
Można do przycisku przypisać Np takie makro Option Explicit Sub cmdWstaw() Dim pozycja As Integer, numer As Integer Dim kom As Range pozycja = Sheets("Arkusz1").Rang... + 1 If pozycja = 77 Then MsgBox "Osiągnięto koniec zakresu w zestawieniu..." Exit Sub End If For Each...
Formuła przeszukuje mi dane w dwóch plikach w każdym z arkusza z osobna. Jeśli nie znajdzie szuka w kolejnym arkuszu i tak do momentu znalezienia i podstawienia właściwych danych. Tutaj podaje link do pobrania pliku, niestety plik jest tak duży że nie mogę go wgrać przez portal. [url=https://turbo.to/2c4il4z9gp5r.html]... Ever.xlsb
Zawsze możesz też zrobić tak aby Makro pytało Ciebie przy odpaleniu z jakiego pliku zewnętrznego ma kopiować jaki zakres danych.
[syntax=vb]Sub kopia() If ActiveCell.Column <> 4 Then MsgBox "Wybierz indeks z kolumny D": Exit Sub ow = Sheets("Arkusz2").Range("C" & Rows.Count).End(xlUp).Row + 1 If ow < 15 Then ow = 15 r = ActiveCell.Row Range(Cells(r, "C"), Cells(r, "H")).Copy Sheets("Arkusz2").Range("C" & ow) End Sub [/syntax]
Application.Undo O! A dlaczego w moim Excel 2007 tego nie ma? W Internecie (nawet u Walkenbach'a) napisano "Excel 2007 and later" :( Może dlatego, że wersja "for school and student"? Biegnę szukać jakiś aktualizacji... No coś takiego!
Dlaczego nie załączyłeś pliku? Przecież na obrazku niczego nie można sprawdzić. Podejrzewam, że linie obramowania, które Ci się nie kopiują są przypisane do sąsiednich komórek. Ramka rozdziela komórki, ale nie musi być przypisana do obu, może być przypisana tylko do jednej z nich. Wtedy przy kopiowaniu trzeba zadbać o to by obramowania były przypisane...
range("C6:E16";"B19:B20") Możesz nawet Próbowałes ręcznie skopiować ten zakres?
Formułę można wpisać bezpośrednio do całego zakresu: [syntax=vb]Range("K342:O773").Formula = "=VLOOKUP(RC[8],'Próby'!C1:C8,2,0)"[/syn...
Witam, Mam pytanie o możliwość stworzenia makra które będzie kopiować wypełnione wartościami kolumny w dół zaznaczając komórkę A2, jednak przy kopiowaniu pomijało by wiersze dla których nie ma podanych wartości w kolumnach D i F: https://obrazki.elektroda.pl/8651122400_... Na chwilę obecną przy poniższym kodzie: [syntax=vbscript] Range("A2").Select...
niestety niewiele mi to pomogło.
Jeżeli chodzi o przenoszenie formatowania to excel właściwie nie ma żadnych funkcji. Można to zrobić jedynie poprzez makro (VBA) lub "pisaniną" poprzez formatowanie warunkowe i to w excelu 2007 i powyżej, bo niższe mogą mieć tylko max 3 warunki. Ten kto zna jako-tako programowanie w VAB może sobie poradzić. Ten kto nie ma pojęcia na początku upadnie,...
Poniewaz strona ma 5 rekordow i zakres 22 wierszy, to maksymalnie w Excel 2003 ~ 14,5 tys wierszy, w >=2007 ~ 230 tys. Z warunkiem ze typy zdarzen bedzie jak w arkusze KODY.
z tego co się orientuje, poprzez wbudowaną funkcję excela się nie da. Możnaby napisać makro. W załączniku przedstawiam proste makro, które zmienia tło na czerwień jeżeli wpiszesz cokolwiek w zakresie A1:C3. W razie pytań... pytaj:)
Problem polega na tym, że potrzebuję właściwie wskazać zakres do skopiowania https://docs.microsoft.com/pl-pl/previou...
Myślę, że sam drugi podpunkt już by rozwiązał mój problem:) Potrafiłbyś coś takiego zrobić? Byłbym Ci bardzo, ale to bardzo wdzięczny. Dałoby jeszcze radę uwzględnić w tym makro, aby zmieniało znaki tylko w określonym zakresie komórek?
Witam. W takiej sytuacji najprawdopodobniej użyłbym makro.
tak, chcę aby po wprowadzeniu dat lub zakresu komórek excel zrobił wykresy dla wszystkich walut
Racja, oczywiście. Z tym, że pól opcji bym nie liczył makrem, łatwo o błąd (niedawno był temat o tym właśnie). Pewniejsze będzie policzenie zajętych wierszy wybranej kolumny lub wierszy używanego zakresu.
Witam. Mam wielką prośbę. Dostałem w pracy zadanie utworzenia wizualizacji do procesu walcowania taśmy wraz z raportowaniem przebiegu.. Wizualizację (napisaną w In-Touch z wykorzystaniem SPC) połączyłem za pomocą DDE z arkuszem excel'a w którym ma być tworzony raport z walcowania taśmy. I tu zaczyna się mój problem. Samą wizualizację napisałem bez problemu...
I chciałoby się Wam pisać takiego (300szt.) tasiemca? Po mojemu, wygodniej utworzyć funkcję dla zakresu (załącznik).
załączam przykladowy plik i teraz np. sprobój wpisac w jakas kolumn obojetnie b cz c jakąs wartość i wypełnić w dół serią danych nie wiem dlaczego makro się odzywa jeśli ja nic nie grzebie w nim tylko wypełniam serią danych inne zakresy.
Jak już pisałem nie mam 2007 więc nie mam jak sprawdzić. Ewentualnie dopiero w poniedziałek. Do tej pory może ktoś inny (mający 2007) odpowie ci na to. Może być prościej przy wykorzystaniu przycisku (włącz wyłącz - z hasłem). Ale wtedy przy wchodzeniu do pliku będzie monit o to by włączyć makra. (że plik zawiera makro) Nie wszyscy to lubią (makrom nie...
W drugą stronę jak najbardziej. Ale jeśli kolor wypełnienia wstawiasz ręcznie z palety (nie w wyniku formatowania warunkowego), to pozostaje makro lub funkcja użytkownika (też w VBA) z wykorzystaniem Interior.ColorIndex zakresu. Excel nie ma wbudowanych funkcji odwołujących się do właściwości formatowania komórek.
Witam, mam serie dat w jednej kolumnie. Chciałbym żeby makro zapytało mnie, najlepiej w formie wyskakującego okienka jaki zakres dat chciałbym zaznaczyć a następnie żeby makro wykonało polecenie. W przypadku braku zakresu danych wybranego przez użytkownika, najlepiej żeby makro napisało brak daty. z góry dziękuję za pomoc pozdrawiam
Mała przeróbka makr: 912681 Wiersze można dodawać ze ściśle określonego zakresu, który sam sobie ustalasz ("If ilewrs > 10 Then Exit Sub"). Usuwanie wierszy tylko pojedynczo, od ostatniego, aby zachować porządek.
) chce porównac jak czesto pada dana kombinacja liczb Problem był nie tyle o Lotto, zarówno o tym, gdzie makro zobaczy dana kombinacja liczb. (InputBox, zakres komorek, czyli inne) Nie będzie to sztywno 6, 19, 3 , 22
Nie widzę obrazka ale u mnie nie działa bo wykres ma być w nowym arkuszu. Chodzi właśnie o zakres na sztywno. Jak wstawiłem do makra to co tam wpisałeś to makro przestaje działać.
Sprawdź dobrze, bo pisane w przerwach między obieraniem ziemniorów i marchewy, i mogą być błędy. 919204 Stałe, zmienne i kod na tyle czytelne, że od razu zrozumiesz intencje. Kody z ich wartościami na oddzielnej zakładce, makro uruchamiane zmianą zawartości komórek w określonym zakresie (stałe dla zakresu początkowego i końcowego), zdefiniowanym w module...
Spróbuj z hasłem (zmień wartości, jeśli ma być odwrotnie)[syntax=vb]Sub makro1() ' ' makro1 Makro ' blokowanie komórek i ochrona arkusza' ' Klawisz skrótu: Ctrl+r ' ActiveSheet.Cells.Locked = False With ActiveSheet.Range("C9:F13,C15:F19,C21:F2... .Locked = True .FormulaHidden = False...
Czy ktoś z Was wie jak powinno wyglądać makro porównujące ze sobą tabele Sądzę, że wielu wie ... ale pewnie są na urlopach ... :) Nie załączyłeś żadnego przykładu, więc i reklamacji nie ma ... jest jak jest, inaczej nie będzie ... 895194
bozio891 W twoim arkuszu wystarczy zmienić zakres obowiązywania nazwy AktywnyWiersz z arkusza na cały skoroszyt (najprościej usunąć nazwę, przypisać ją ponownie ale zakres dać skoroszyt i odwołanie "=0") Zaznaczanie będzie działać w każdym arkuszu gdzie masz ustawione formatowanie warunkowe (październik i grudzień nie mają) :)
Zobacz załącznik. Dla prawidłowego działania formuł, każdą fakturę w Arkusz1 należy kończyć nowym numerem. Kolumnę F oraz zakres E1:E2 ustaw z białą czcionką i nie będzie widoczne na wydruku. Edit 21:29: Zmieniłem załącznik, poprzedni był niedokończony.
przeinstalowanie Office`a względnie samego Excel`a.
... " a " czy mógłbyś poprawić aby wstawiało Datę w komórkach w zakresie od B11 do B2000 i Godzinę od C11 do C2000 1. " a " co to jest to " a " w " If Target <> a " ? 2. "zbiorczo", tj. hurtem (?), czy sukcesywnie w miarę wpisywania danych w tym samym wierszu w zakresie kolumn 5 do 8 ? ps: trzeba by wstawić kontrolę zmiennej "i" (wierszy)
Dobry wieczór, Nie bardzo rozumiem o co chodzi. Cały zakres obejmuje kolumny od A do LH. Jeżeli to ma być zmienione należy wprowadzić poprawki w komórkach A16 i A17 oraz w definicjach wi i wj w Menedżerze nazw. Natomiast jeśli chodzi o ten węższy zakres to jest on rozpoznawany automatycznie, co widać w komórce A16 i w definicji wi. Czy coś nie działa...
Jeżeli pola są oddzielone spację, wystarczy taka modyfikacja pętli: [syntax=vb]Do While Not EOF(1) Line Input #1, TextLine If Left(TextLine, 13) = "121401_2.0011" Then arr = Split(TextLine, " ") wsdane.Cells(i, 1).Value = arr(0) wsdane.Cells(i, 2).Value = arr(1) wsdane.Cells(i, 3).Value = arr(2) wsdane.Cells(i, 4).Value = arr(3) wsdane.Cells(i, 5).Value...
a proszę zerknąć na screena co tak naprawdę kod zrobił Myślałem że to zamierzone (bo nie znam całego kodu) - choć jak się teraz okazuje nieświadomie. (więcej szczęścia :) ) Użyłeś odwołań względnych - poza tym formatowanie warunkowe ma pewne mankamenty jeżeli chodzi o adresowanie bo odwołuje się do zaznaczonej wcześniej komórki (a w makro nie ma żadnego...
Z tego co widzę próbujesz sumować warunkowo dla wybranych klientów? Dlaczego nie używasz filtra? Można odfiltrować niepotrzebne, skopiować do nowego arkusza. W swoim przykładzie odwołujesz się do całych kolumn (Np A:A), co zdecydowanie spowalnia działania na tablicach. Dlatego zamieniłbym zakres na tabelę Excela. (zaznacz, Menu>Wstw>Tabela). Zamiast...
a po drugie chyba mniej skomplikowane będzie usuwanie tych z zakresu drugiej ramki No, może odrobinkę. W załączniku są dopisane oba. Procedury znajdują się w kodzie arkusza. W makro wstawiania nie ingerowałem, nadmiarowe CheckBox'y wyrzuciłem.
W wierszu "rang" wpisz: rang = Array("E5:E10,O45:R42") Kolejne zakresy poprzedzaj przecinkiem. Pozdrawiam
1. Najprościej wyłączyć obsługę błędów For Each element in kolekcja . Np [syntax=vb]zakres = Array([a2], [c3], [d5]) For Each kom In zakres If kom = "" Then kom.Value = "-" Next[/syntax]
No łatwo mówic...
Dokładnie o to mi chodziło. To jeszcze przy okazji jakbym mógł prosić o pomoc z makro do drukowania konkretnego obszaru oraz z przypisaniem makro do konkretnej komórki (np A1). Do tej pory makro przypisywałem do przycisków.
da się coś takiego zrobić standartową komendą .Group ? jak próbowałem rejestrowania makra to widziałem że excel ją wykorzystuje Tak, oczywiście musisz tylko podać zakres w wierszach lub kolumnach. Np i = 1 k = 3 m = 5 Range(Columns(i), Columns(k)).Columns.Group Range(Rows(i), Rows(m)).Rows.Group
Załączam przykładowy plik excela z makrem liczącym ilośc znaków w zadanym zakresie arkusza. Wynik podawany jest w drugim arkuszu. Makro wybiera kolejno komórki z zakresu, liczy liczbę znaków w poszczególnych komórkach i dodaje narastająco liczbę poszczególnych znaków z zakresu. Arkusz można dostosować do swoich potrzeb, np. wynik podawać w tym samym...
Niestety też nie widzę opcji by nie było makra. Ale nie makro ukrywające tylko zwykłe wprowadzenie informacji do wydruku do ilu stron ma drukować. Czyli pod przycisk "wrzucić" [syntax=vb] Sub Druk() ActiveWindow.SelectedSheets.PrintOut From:=1, To:=Sheets("POŚW").Range("E22") End Sub [/syntax] I "drukować" przyciskiem.
Problem rozwiązany - Bardzo dziękuję Miałem błąd we wspomnianym przecinku i sposobie określania zakresów komórek. dziękuję i pozdrawiam
Witam, bardzo proszę o pomoc w napisaniu makra analizującego tabelę danych. W załączeniu plik Excel z opisem zadania. Makro powinno pozwalać zdefiniować zakres analizy. Z góry dziękuję za pomoc. https://obrazki.elektroda.pl/5779882000_...
Mógłby porosić o gotowca do wlejenia: index to zakres A8:A600 nazwa to zakres B8:B600 warości1 to zakres FW8:FW600 warości2 to zakres FX8:FX600 warości3 to zakres FY8:FY600 warości4 to zakres FZ8:FZ600
1. Admin ma zawsze rację 2. Kiedy nie ma - patrz pkt 1 :D No, w każdym razie dzięki za awans :) Rzecz w tym, że zawsze szukam najprostszych rozwiązań. W takim razie jeszcze jedna próba: A gdyby tak zamiast do zmiennej, zapisywać wiersz pod wierszem w tymczasowym arkuszu, skopiować do schowka i wkleić do Notepad'a cały zakres?
Działa świetnie, dziękuję! Mam jeszcze pytanie. Jako że ten plik był testowy podałem tylko dwie dane do kopiuj/wklej. Czy jest możliwość uniknięcia efektu "migania" w chwili gdy wykonuję makro na dużym zakresie danych.
Użyj: Range("A1:Z250").Locked = True. Zakres oczywiście dobierz właściwy.
No niestety w obu plikach są też inne dane, a na dodatek trzeba sprawdzić nie jeden, a kilka zakresów danych (dokładnie 8). Excel ma naprawdę duże możliwości, ale domyślać się nie potrafi. Trzeba określić rzeczy stałe, podać ewentualne granice tych, które mogą ulegać zmianie, a jeśli makro/funkcja ma działać w różnych zakresach, czyli być uniwersalne/a,...
Dzięki FLESZ za makro. Działa ono w zakresie deklarowanym gdzie znajdują się wartości. Makro skraca czas tworzenia funkcji (klepania adresów). Jeżeli zwiększę zakres i część komórek będzie pustych to Excel traktuje je jako "zero" podstawia do wzoru i wylicza średnią. Jeszcze raz dzięki za pomoc spróbuję zmodyfikować Twoje Makro. Pozdrawiam
Pytanie 1 najlepiej zarejestrować makro a następnie je dostosować do swoich potrzeb.
Prawdopodobnie uruchamiasz makro z aktywnym arkuszem innym niż "z". Każdy pojedynczy zakres w tym przypadku musi być precyzyjny, nawet jako argument. Path.Range(Path.Cells(), Path.Cells()) Masz do wyboru (zwróć uwagi na kropki przed Cells): [syntax=vb]with mainwkb.Worksheets("z") .Range(.Cells(i, 1), .Cells(i, 3)).copy 'itd End with 'co jest tym samym...
Sub wykres() ' ' wykres Makro ' x = 1 Sheets("Druk").Select While (Cells(x, 1).Value <> "") x = x + 1 Wend Sheets("Wykresy").Sele... ActiveSheet.ChartObjects("PPK&q... ActiveChart.PlotArea.Select ActiveChart.ChartArea.Select 'tutaj się wykoleja ActiveChart.SeriesCollection(1)....
Ok. Zrozumiałem. napisałem małe makro dla zakresu i pętlą sprawdzanie. plik w zalączeniu. kod: Option Explicit Sub ZakresPetla1() Dim wiersz As Long For wiersz = 19 To 30 Step 1 Do While Cells(wiersz, 2).Value = Range("E16").Value Range("F16").Copy Cells(wiersz, 3).PasteSpecial wiersz = wiersz + 1 Loop Next End Sub
Przyczyna może tkwić w napisanym makrze? Makro może zmieniać ustawienia zabezpieczeń poszczególnych komórek lub całych zakresów :D Pokaż to makro i podaj gdzie ono jest zapisane (Personal.xlsb?) :?:
jakimi formułami można to formatowanie zrealizować Można to zrealizować np. tak jak na zrzucie: 1244706 przy wykorzystaniu formuł typu =ORAZ(MIESIĄC($B2)>=1;MIESIĄC($B2)<... Będziesz miała natychmiastowe formatowanie całego zakresu (np. 100 wierszy) ale tylko wtedy gdy spełnione są warunki ;-)
Dzień dobry, Dalej nie rozumiem, co znaczy zakres E175:E290 > 0. Formalnie w Excelu znaczy to, że każda komórka zakresu jest > 0. Czy o to chodziło? Czy chodzi o to, że przynajmniej jedna komórka jest > 0? Czy w komórkach (w tych badanych zakresach) mogą być wartości ujemne?
W pierwszym poście chciałeś aby makro, po wyczyszczeniu zawartości komórki "X25" czyściło listę z zakresu H20:J20. Analogicznie wyczyszczenie X22, X18, X13 czyściło H18:J18, H14:J16, H12:J12, nie zapętlając się w trakcie. Tak to teraz dokładnie działa. To co się dzieje w innych komórkach zależy od algorytmu który realizują Twoje formuły. Niestety nie...
Takie makro w gruncie rzeczy jest banalnie proste: [syntax=vb]Columns("F:F").ClearContents ost_w = Cells(Rows.Count, 1).End(xlUp).Row poz = 2 For i = 2 To ost_w For j = Cells(i, 2).Value To Cells(i, 3).Value Cells(poz, 6).Value = Cells(i, 1).Value & j poz = poz + 1 Next j Next i[/syntax]
Dzień dobry, Z zakresami sklejonymi zawsze są problemy, lepiej tego unikać. Ale zawsze jakoś można sobie poradzić, czasem drogą okrężną. Ale ja już się trochę pogubiłem w tym Pana problemie: czy Pan chce kopiować z zakresu sklejonego do pojedynczej komórki czy odwrotnie z komórki do zakresu sklejonego? Poza tym ważne jest w jakiej kolejności Pan skleja...
Nagraj to makro i przypisz do przycisku. Przycisk wiesz jak zrobić? Wiesz jak przypisać makro do przycisku? Makro powinno wyglądać mniej więcej tak: [syntax=vb]Sub aktualizuj() ' aktualizacja danych z zakresu A1 Range("A1").Select Selection.QueryTable.Refresh BackgroundQuery:=False End Sub [/syntax] .. ewentualnie we właściwościach danych zewnętrznych...
Lzep :arrow: Z fotki wynika wszystko jasno, chyba że ktoś nie miał do czynienia z Excelem i dartem ... tomi1972 :arrow: Excel działa domyślnie w trybie natychmiastowego przeliczania formuł. Bez odpowiedniego makra nie da się zrobić tego co oczekujesz. Usuwając sumy pośrednie (F2 i J2) wartość zawsze będzie "wracać" do 501. Napisałem proste makro sumujące...
Witaj. Czy musi to być koniecznie w Excelu? Jest dużo innych narzędzi, które się do tego mogą bardziej nadawać, mogą na przykład generować plik CSV, który sobie można łatwo w Excelu wczytać. Chyba że ma to być część jakiegoś większego projektu i Excel jest konieczny.
Dzięki za już, ale jeszcze nie działa. Podany kod koloruje wszystkie komórki w podanym zakresie mimo, że nie spełniają warunku
Tu masz proste makro: (sprawdza kolumny dopóki jest wartość w kolumnie C zaczynając od 7 wiersza Sub filtr() a = Range("C3") b = Range("C4") i = 7 Do While Cells(i, 3) <> "" If (Cells(i, 3) >= a) And (Cells(i, 3) <= b) Then Rows(i).EntireRow.Hidden...
Na podstawie pliku czas_pracy.xls przygotowałem przykładowe makro. W skoroszycie czas dodałem w komórce A2 ilość pracowników wyszukaną funkcją =ILE.NIEPUSTYCH(A3:A5000). Dodałem nowy skoroszyt "Warunek" w którym znajdują się komórki z funkcjami wyszukującymi interesujące nas godziny : =BD.MIN(dane!$A:$D;C$1;$A$1:$B$2) i =BD.MAX(dane!$A:$D;D$1;$A$1:$B$2)...
A co w ogóle chcesz osiągnąc? Nie rozumiem, co ten program ma robić... Tak na drugi rzut oka: - czemu Suma jest typu Variant? Nie jest to błąd, ale po co aż taki typ? - "For Each kom In Zakres" - po czym chcesz przemiatać "Zakres"? Po kolumnach? Komórkach? Jeśli po komórkach to powinno być Zakres.Cells - "kom <> 0" i podobne - nie możesz porównywać...
Dla jednego pola nie jest to skomplikowane - działające makro to: Dla zakresu [syntax=vbscript]Sub elka() For Each c In Range("H8:H100") If c = "TAK" Then c.Offset(, -5) = True ElseIf c = "" Then c.Offset(, -5) = False End If Next End Sub[/syntax]
Ręce opadają :) To co Ty właściwie chcesz zrobić? ale jeśli dane są pobierane z internetu Dane z internetu wprowadzaj od razu do "z góry upatrzonego" zakresu. lub np z innej komórki Oprogramuj tą "inną komórkę"... Co to znaczy "z automatu"? Żeby coś się zmieniło w arkuszu, najpierw musi się coś wydarzyć.
Dzień dobry, Excel nie jest dobry na wszystko, ale w tym przypadku powinien sobie poradzić. Nie znam Accessa, więc nie potrafię ocenić, czy byłby lepszy. Co do podręczników do Excela i VBA jest ich całe mnóstwo, wszystko zależy co kto lubi i jak szczegółowa wiedza jest mu potrzebna. Cenione są prace Walkenbacha, ale to są dość grube tomy i potrzeba...
Nagraj sobie makro zapisywania. Poniżej zarejestrowane (bez korekty) dwa: "Zapisz jako" oraz Ctrl+s (zwykłe zapisz) http://obrazki.elektroda.pl/3841968300_1... i wybierasz z listy. Aby oprogramować komórkę/zakres potrzebujesz procedury zdarzeniowej [url=http://dzono4.w.interiowo.pl/kurs/d... Tu należy warunkowo wywołać...
Był błąd - chyba go poprawiłem. Zmieniłem trochę całość - eksportowałem jako moduł bas - dołącz do swojego projektu i użyj. Również zamieszczam arkusz testowy z importowanym modułem. Użycie jest proste - zaznaczasz zakres komórek, na którym chcesz przeprowadzić zmiany i w menu Narzędzia -> Makro -> Makra uruchamiasz jedyne makro, jakie jest - zrób_gwiazdki....
excel makro kopiować zakres excel zakres danych makro makro excel kopiować zakres
indukcyjność łuku rozrusznik bizon migaja lampki
łucznik naprężacz sprinter podłączenie webasto
Jak naciągnąć pasek alternatora Citroen C5 1.6 HDI? Migająca pomarańczowa dioda w Lenovo - przyczyny i rozwiązania