Należy pamiętać, że znaki interpunkcyjne w formułę arkusza Excel
Piszesz, że ma scalać wiersze, jeżeli wartości w kolumnach A:H oraz K są takie same, a w przykładzie: w 6 wierszu wartość w kolumnie A jest inna, a w 3 wierszu: w kolumnie G - mimo to zaznaczyłeś je na żółto. To jak to w końcu jest?? Czy scalanie dotyczy tylko jednej tabeli, czy wszystkich? Czy one mają stałą długość, czy się zmieniają? Czy wiersze...
makra, które będzie przenosić dane z jednego arkusza do innego Efekt taki możesz uzyskać np takim kodem: 968551
Musisz jakoś wskazać z którego arkusza chcesz usunąć dane. Excel (makro) to nie jasnowidz. Albo ustawisz stałą nazwę abo jak radził kolega walek wykorzystasz indeks arkusza (lub jego nazwę w VBA) Czyli zastąp Sheets("1").Select Sheets(2).Select (ale wtedy arkusz z którego usuwamy musi być drugi w kolejności) lub Arkusz2.Select (Arkusz2 to nazwa obiektu...
Trochę przerobiłem. Działa pod warunkami: 1) lista firm pobierana jest z arkusza "Sty". Jeśli w innych arkuszach (miesiącach) będą różnice należy do tworzenia listy użyć makr. 2) Arkusze muszą mieć taki sam układ (wspólne makro) 3) Indeks (łącze komórki pola kombi) jest wspólny dla wszystkich arkuszy.
Skopiowany zakres do nowego arkusza nie jest obszarem nazwanym Tabela_test, stąd błąd.
Korzystam z podobnego rozwiązania ale potrzebne jest też formatowanie warunkowe (aby zaznaczać tylko zakres wiersza). Zaznaczanie aktywnego wiersza za pomocą formatowania warunkowego i VBA 1. Zaznaczanie aktywnego wiersza Definiujemy nazwę: AktywnyWiersz=0 Wpisujemy formułę w VBA w sekcji Worksheet - SelectionChange Private Sub Worksheet_SelectionChange(ByVal...
Hmm, u mnie działa...
Metoda PrintOut z klasy workshet nie powiodła się Uruchamiasz makro z aktywnego arkusza "formularz" :!: a drukujesz inny arkusz "oswiadczenie" :idea: Twój wcześniejszy kod jest jednoznaczny :D tj. ActiveWindow. Selected Sheets
Sub drukowanie_pakowania() Dim wsh As Worksheet For Each wsh In ActiveWorkbook.Worksheets If wsh.Cells(1, 10) > 0 Then If wsh.Cells(1, 10) < 10000 Then If wsh.Name = "PRODUKCJA" Then GoTo dalej wsh.PrintView dalej: End If End If Next wsh End Sub
If k <= Date Then Cells(k.Row, k.Column) = "" A jeżeli zakres nie jest w aktywnym arkuszu?
Jaky format w A1? Sprobuj Sheets(Range("A1").Text).Select
Witaj, wszystko jest możliwe [syntax=vb] sub Idziemy() Dim tbl As Range Set tbl = Sheets("Jacek").Range("W:W").Cells If Application.Intersect(ActiveCell, Range("a1:k500")) Is Nothing Then MsgBox "Bledne odwolanie - wybierz poprawna komorke" Else r = Application.Match(ActiveCell, tbl, 0) Application.Goto tbl(r) End If end sub [/syntax]
[syntax=vbnet]Sub Bazy() On Error Resume Next Dim a As Worksheet, b As Worksheet Set a = Sheets("Baza danych A") Set b = Sheets("Baza danych B") a.Select owa = Cells(Rows.Count, "B").End(xlUp).Row owb = b.Cells(Rows.Count, "C").End(xlUp).Row For x = 5 To owa w = "" w = Application.Match(Cells(x, 2), b.Range("C5:C" & owb), 0) + 4 If w > 0 Then Cells(x,...
Nie ma nic niemożliwego
[syntax=vbscript]Sub usun() For Each c In ActiveWorkbook.Names c.Delete Next End Sub[/syntax]
[syntax=vb]wiersz = 6 Sheets(1).Activate While Cells(wiersz, 1) <> "" Cells(wiersz, 2).Copy Sheets(Cells(wiersz, 1).Text).Range("C8") wiersz = wiersz + 1 Wend [/syntax]
wyskakuje jeszcze błąd z tą samą nazwą arkusza W Skoroszyt zawierający makra zostawić tylko jeden arkusz i dać mu jakiś unikatową nazwę(ale Excel, sam zmienia nazwę (dodaje (2)), a następnie zmiany nazwy na nazwę skoroszytu) Chcesz wybrać pliki indywidualnie? Wtedy [syntax=vb] Sub zbior() Dim wb As Workbook Do fl = Application.GetOpenFilename("ExcelFiles....
Przy okacji trochę mi sie koncepcja zmieniła - gdybym musiał wykluczyć więcej niż jeden arkusz - to dałoby się? Można wykluczać arkusze, można też uwzględnić tylko te z listy... Wykluczanie generalnie można zrobić tak: - wykluczasz Arkusz1, Arkusz2 i Arkusz3, drukujesz pozostałe[syntax=vbscript]If ws.Name <> Arkusz1.Name And ws.Name <>...
Próbowałem pozmieniać nazwy arkuszy na "ActiveSheet" A tak? [syntax=vbscript]Sub Sort1() With ActiveSheet .Range("F607:J617").Select .Sort.SortFields.Clear .Sort.SortFields.Add Key:=Range( _ "H607:H617"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _ xlSortNormal End With With ActiveSheet.Sort .SetRange Range("F607:J617") .Header = xlGuess...
Wykorzystaj zdarzenie Worksheet_Activate . Najprościej[syntax=vb]Private Sub Worksheet_Activate() Call CommandButton1_Click End Sub[/syntax]
[syntax=vbscript] On Error GoTo SubStop For Each Sheet In Worksheets Sheet.Test Next Sheet SubStop: On Error GoTo 0[/syntax]
Aby wydrukować jeden szablon, możesz użyć prostego przepisania wartości (lub nawet formuł): [syntax=vbscript]Arkusz2.Range("A1:E6").... 'wyczyść stare dane na szablonie Arkusz2.Range("A1").Value = Arkusz1.Range("A1").Value Arkusz2.Range("A3").Value = Arkusz1.Range("G5").Value Arkusz2.Range("A5").Value = Arkusz1.Range("G3").Value * 1000 & "...
Dodatkowe kolumny z Łączenie A & B & C Tam zastosować podaj pozycie
OK. Teraz mam pilne zadanie, w godzinach wieczornych coś do rozwiązania. ... Tu to jest [syntax=vb]Sub copyNumKs() Dim bd As Range, bs As Range, r& With Sheets(1) Set bd = .Cells(1, 5).Resize(.Cells(Rows.Count, 1).End(xlUp).Row, 1) End With With Sheets("wydruk") Set bs = .Cells(1, 2).Resize(.Cells(Rows.Count, 1).End(xlUp).Row, 2) End With For r = 2...
W VB używamy przecinka. Np Range("A1:A1200,B5:B10&...
Spróbuj takiego makra. [syntax=vbscript] Sub Kopiowanie() Dim arkA As Worksheet, arkB As Worksheet, arkZest As Worksheet Dim OstA&, OstB&, GdzieWkleic&, PierwszyWiersz%, IleKolumn% Set arkA = ThisWorkbook.Worksheets("aaa") Set arkB = ThisWorkbook.Worksheets("bbb") Set arkZest = ThisWorkbook.Worksheets("Zestawienie") OstA = arkA.Cells(Rows.Count,...
Nie jest całkowicie skrot, reprezentuje nazwę obiektu w skoroszycie, Np for each bbb in ActiveWorkbook.Sheets 'colection sheet in workbook bbb .Cells(1,1)="Witaj" next
Po pierwsze - ustaw breakpoint'y i zobacz, w którym miejscu Cie "wyrzuca". Po drugie - po osiągnięciu sumy >20 przechodzisz do nowego arkusza, coś tam wklejasz po czym nie wracasz do pierwotnego arkusza - a Twój kod pracuje na arkuszu w tym momencie aktywnym.
Poczytaj w helpie excela o funkcji "wyszukaj pionowo" lub "vlookup"
Zrobiłem coś w tym temacie... Wygląda, że działa poprawnie, jednak trzeba mieć świadomość, że przy dużej ilości danych efektywność procedury nie będzie wysoka. Po odpaleniu spokojnie będziesz mógł iść na kawę :D W skoroszycie dodałem dodatkowy (pomocniczy) arkusz "work", który jest ukryty. andie
Jeśli dobrze "odczytałem" Twoje rysunki i opisy :crazyeyes: to efekt taki jak na zrzucie :spoko: 979159 można uzyskać poprzez makro powiel w załączonym pliku 979160 Jeśli będziesz chciał mieć plik "wielokrotnego" użytku :please: to każdorazowo musisz go "odświeżyć" poprzez oczyszczenie makrem Usun :!: z poprzednich arkuszy (bo nie może być 2 arkuszy...
No tak. Mój błąd, bo powinno być w innej kolejności. Sorry, ale dzisiaj sobota ;) Coś tam (w załączniku) kopiuje. Przeanalizuj, dostosuj do własnych potrzeb.
Z arkusza1 robię raporty w osobnych arkuszach Efekt taki jak na zrzucie 1041538 automatycznego kopiowania wyfiltrowanych danych z arkusza1 do kilku arkuszy :idea: (z nazwami arkuszy wg filtrowanych danych :D ) można zrealizować przykładowo tak jak w załączonym pliku. 1041541 Makro można uruchomić skrótem klawiaturowym ctrl+r :!: , dla dowolnej (jeśli...
Można zdefiniować tablicę z nazwami arkuszy w których mają być dokonywane zmiany i przejść pętlą po arkuszach wpisanych do tej tablicy: [syntax=vb]Sub zz() Dim tblArkusze() Dim i& Dim rngTmp As Excel.Range tblArkusze() = Array("I L", "II L", "III L") 'nazwy arkuszy w których mają być wykonane zmiany For i = LBound(tblArkusze()) To UBound(tblArkusze())...
Może wstaw plik z danymi dla ułatwienia temu, kto się za to weźmie.
wg konta microsoft 365
Podczas startu aplikacji robisz: Worksheets("Arkusz1").Unprotect Password:="TwojeHasło" To umożliwia pracę w arkuszu. Podczas zamykania aplikacji robisz: Ws.Range("A1:Z250").Locked = True Ws.Protect Password:="TwojeHasło", UserInterfaceOnly:=True Sorki, wycinane z mojej aplikacji, stąd różne sposoby adresowania arkuszy, możesz to zapisać dowolnie, byle...
Spróbuj: [syntax=vbnet]Sub d() Application.ScreenUpdating = False For Each s In ThisWorkbook.Sheets s.Cells.FormatConditions.Delete Next s Application.ScreenUpdating = True End Sub[/syntax]
Poczytaj o WYSZUKAJ.PIONOWO, a jeżeli makro to o VLOOKUP.
Spróbuj [syntax=vb]For Each kom2 In Sheets("Arkusz2").Range("A1:A500") If kom2 <> Empty Then For Each kom1 In Sheets("Arkusz1").Range("A1:A500") If kom1.Value = kom2.Value Then kom2.Offset(0, 13) = kom1.Offset(0, 13) kom2.Offset(0, 14) = kom1.Offset(0, 14) Exit For End If Next End If Next[/syntax]
zrobienie makra dla wyliczania wartości Dlaczego nie dobry formuly(funkcji)? np. dla H4 =LICZ.WARUNKI(abc!A:A;F4;abc!F:F;"BA")+L...
O coś takiego chodzi? [syntax=vb]ost_wiersz = Worksheets("Arkusz2").Range("A" & Rows.Count).End(xlUp).Row Worksheets("Arkusz2").Range("A" & ost_wiersz + 1 & ":H" & ost_wiersz + 1).Value = Worksheets("Arkusz1").Range("A1:H1").Val... Worksheets("Arkusz1").Range("A1:H1").Cle...
[syntax=vb]Sub doBazy() r = 1 With Sheets("raport") While .Cells(r, 1) <> "" rb = Application.Match(.Cells(r, 1), Sheets("baza").Columns(1), 0) .Cells(r, 2).Resize(, 5).Copy Sheets("baza").Cells(rb, 2) r = r + 1 Wend End With End Sub [/syntax]
Może w ten sposób...
Zamień linię: ActiveWorkbook.SaveAs "C:\MONTH CLOSING\FY2013\MAKRO&FILES\FY2013\P&L BY MONTH_values\FY2013\October YTD\CUSTOMERS FILES\" & Arkusz.Name na: ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\MONTH CLOSING\FY2013\MAKRO&FILES\FY2013\P&L BY MONTH_values\FY2013\October YTD\CUSTOMERS FILES\" & Arkusz.Name & ".pdf", Quality:=...
Wstawiłem tabelę, włączyłem rejestrator makr, zmieniłem nazwę w 'Narzędzia tabel'. Nagrało się m/in: https://obrazki.elektroda.pl/2689543600_... Odpowiedź: Tak, można
A jak dokładnie są nazwane arkusze? Cała data, czy tylko numer dnia? Jeżeli cała data to: Sub NazwaArkusza() Range("a2") = ActiveSheet.Name End Sub przy numerze dnia: Sub NazwaArkusza() Range("a2") = ActiveSheet.Name & ".02.2011" End Sub To jest tylko dla jednego arkusza. Dla większej ilości...
Pomogę w ten sposób: Tak przypisujesz nazwę z danej komórki Nazwa_z_komorki = Worksheets("KON").Cell... 1).Value i podobnie ilość Ilosc_z_komorki = Worksheets("KON").Cell... 2).Value Do powyższego cells(nr wiersza,nr kolumny) dodanie arkusza: Sheets.Add Nadanie nazwy arkuszowi: ActiveSheet.Name...
W wolnej chwili wyklikałem na klawiaturze kilka linijek. Wydaje mi się, że wygodniej będzie Ci przystosować mój krótki kod. [syntax=vb]Sub Podziel() Dim a As String, a1 As Worksheet Set a1 = Sheets("Arkusz1") ow = Cells(Rows.Count, "D").End(xlUp).Row f = True Sheets("Arkusz1").Select For x = 5 To ow a = a1.Cells(x, 16) If f Then y = x f = False End...
Rozumiem, że arkusz z danymi do kopiowania jest w osobnym pliku.
Jak mam wykorzystać te arkusze które nie mają nic wspólnego z moim zadaniem? Odpowiem podobnie jak Ty: Jak ktoś ma napisać Ci te makro nie znając układu danych w Twoim arkuszu?
Jeśli dobrze rozumiem, to tak:
dla przycisku tak daj takie samo makro tylko zamień True na False
[syntax=vbscript]Sub Dzialaj() Application.ScreenUpdating = False Dim Tekst As String Sciezka = "C:\PlikiExcela\" Tekst = "mój tekst" Plik = Dir(Sciezka & "\*.xls*") While Plik <> "" Call Wyszukaj(Sciezka & Plik, Tekst) Plik = Dir() Wend Set fso = CreateObject("Scripting.FileSystemObject... Set s = fso.GetFolder(Sciezka) For Each p In s.SubFolders...
To jest przechowywany w katalogu i zamyka. po prostu otwórz go Dodano po 3 lub zniszczyć ciąg z makro: ActiveWorkbook.Close
Na dwie formy [syntax=vb] Sub Do_Druk() Dim i&, j&, k&, m&, p&, wy$ Dim wsSort As Worksheet, wsKp As Worksheet, wsKw As Worksheet, ws As Worksheet Set wsKp = Sheets("KP") Set wsKw = Sheets("KW") wsa = Array(wsKp, wsKw) Application.ScreenUpdating = False For Each wsi In wsa For i = 0 To 600 praw = 34 * (i Mod 2) dol = (i \ 4) * 64...
Sprawdzałeś powyższy kod? Zasada jest taka, że pierwszy arkusz, to ten do którego będą kopiowane dane z pozostałych arkuszy.
Ja chce kopiować komórki pomiędzy arkuszami Umieść kod w module (nie w kodzie arkusza)...
Makra w module1 i w arkuszu: "Dispatch" przy zdarzeniu 'SelectionChange'. Ewentualnie można dodać przycisk... P.S. Dopuszczasz wartości ujemne w kolumnie A? Edit: 21:05 zmieniłem załącznik (pomyłka) :)
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...
Przyznam, że u mnie w domu jest to samo co u ciebie. W pracy zapisywało mi bez przycisku a jedyna różnica to taka że w pracy mam W7 co nie powinno mieć wpływu. Edit: A może w pracy już dodałem tą linijkę kodu i dlatego mi działąło. Poniżej kod kolegi adamasa z linijką usuwającą przycisk. [syntax=vb]Sub Zapis() sc = "C:\" 'wpisz path jako string, koniecznie...
Tak najprościej: On Error Resume Next 'wyłącza błąd jeżeli wpiszesz daną której nie ma w arkuszu 2 a = Sheets(1).Range("a1&quo... 'pobranie ciągu znaków z komórki A1 pierwszego arkusza w excelu kol = Sheets(2).Cells.Find(What... ' numer kolumny wpisanego ciągu znajdujacego się w drugim arkuszy excela...
Jeśli makro, następnie tak
Domyślam się, że dotyczy to formularza i pól wyboru. Spróbuj[syntax=vb]For Each ctrl In Me.Controls If TypeName(ctrl) = "CheckBox" Then If ctrl = True Then If i > 0 Then lst = lst & Chr(10) & ctrl.Name Else lst = ctrl.Name End If i = i + 1 End If End If Next Range("A1") = lst[/syntax]W arkuszu będzie podobnie.
Tak dane znajdują się w dwóch fizycznych plikach załączone screeny pokazują zrzuty z tych plików (arkuszy)
Może być w ten sposób? (kolumny pomocnicze można ukryć) Co prawda załączyłaś dane gdzie zawsze był nr transakcji ale działa też jak go wykasujesz -uwzględnia to. edit: podmieniłem trochę formuły by było łatwiej kopiować w bok. Może trochę utrudniłem zrozumienie formuły ale... Główna formuła np. dla "a" w danym miesiącu to: =SUMA.ILOCZYNÓW((C1:C10000="a")*1;(A1:A1...
Tak prawie Sub PrzyciskDrukuj() Application.ScreenUpdating = False If Sheets("Arkusz3").Rang... = True Then Sheets("Arkusz2").Sele... ActiveWindow.SelectedSheets.PrintOut Copies:=1 ElseIf Sheets("Arkusz3").Rang... = True Then Sheets("Arkusz3").Sele...
Niech makro "DODAJ" nie odblokowuje, makro Private Sub Workbook_Open() ActiveSheet.Protect UserInterfaceOnly:=True End Sub udostępnia zablokowane TYLKO dla makro
Witam aby w kolumnie D dodało ilość danego produktu do istniejącej już liczby nawet, jeśli inny kolor i kod2? aby wpisało do kolumny b i c (arkusza 1) wartości z odpowiedniego wiersza z arkusza 2 tak samo?
Przejdź do arkusza i uruchomić makro (powinien być w ogólnom modulu)
Oops, a było sobie nagrać makro ;) 1. Kod umieść w module standardowym i podepnij pod przycisk 2. Najpierw wybierz arkusz, następnie komórkę. Np [syntax=vb]Sub Odwolanie() Arkusz2.Select [C4].Select End Sub[/syntax]
Po pierwsze: z którym fragmentem nagranego kodu masz problem? Po drugie: Nagraj makro kopiowania całego arkusza do nowego pliku ze zmianą jego (pliku) nazwy. Masz 100% gwarancji zachowania formatowania. Jeśli w arkuszu jest nadmiar danych można dopisać usuwanie. Jeśli jesteś początkujący, to nagrywarka jest podstawą. Przykład: To jest nagrane makro...
Wyraziłeś się precyzyjnie. Tylko, że tym razem piszesz coś innego.;) [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 16 Then r = Target.Row Dim n As Worksheet Set n = Sheets("Nieprawidlowosci") ow = Cells(Rows.Count, "A").End(xlUp).Row nw = n.Cells(Rows.Count, "B").End(xlUp).Row + 1 If nw < 4 Then nw = 4 If...
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.
Zacznij z petli For Each c In Sheets(1).Cells.SpecialCells(xlCellTypeA...
Set Wb=Open(Fn) ==> Set Wb = Workbooks.Open("D:\abc\" & Fn) Zbyt dosłownie potraktowałeś ogólny zapis o otwarciu pliku.
Pewnie makro masz w kodzie arkusza. Musi być w module... Jeśli to procedura zdarzeniowa, wywołaj je po nazwie (Call NazwaMakraInModule)
Co masz na myśli pisząc "karta"? Dla arkuszy skoroszytu można zagnieździć kod w kolejnej pętli For ark = 1 to thisworkbook.sheets.count ' lub liczbowo indeksy Np 2 To 4 sheets(ark).select 'kod Next
Masz wykomentowane (znaczek ' na początku wiersza) trzy linijki programu... Powinno być: [syntax=vb] Sub Macro1() Dim a As Object For Each a In Worksheets a.Range("F10").FormulaR1C1 = "=RC[-1]/R[1]C[-1]" Next a End Sub [/syntax]
Makro w kodzie arkusza?
ja bym zrobił tak, ze zrobiłbym rzeczywiście pomocnicza kolumnę C, gdzie łączyły by się zawartości obu kolumn np =A2&B2. Wtedy wkepujemy funkcję wyszukaj pionowo w kolumnie D gdzie będziemy wyszukować wartości z kolumny C ( z arkusza docelowego) i porównywać je z tabelą z arkusza roboczego odnoszącej się do kolumny nr 3 (jeżeli zaznaczasz jako tabelę...
a czy możliwe jest zablokowanie całego skoroszytu? nie arkusza lub arkuszy?
Pytania pomocnicze: 1. Czy "szara" kolumna (data) to komórki scalone? 2. Numeracja (kolumna 2 od lewej) w każdym dniu rozpoczyna się od 1? 3. Czy dopuszczasz możliwość zastosowania w swoim arkuszu makro?
Czy makro może dotyczyć odniesionych komórek? Ponieważ w arkuszu drugim gdzieś ma działać makro są odniesienai tylko do komórek z pierwszego arkusza ? O jak zrobić aby uruchamiało się automatycznie vpo dodaniu daty w pierwszym arkuszu
A czy jest możliwość stworzenia makra, które po kliknięciu przycisku stworzy automatycznie arkusze dla wszystkich osób (i nada nazwy takie jak w pierwszej kolumnie tabeli tj. nazwisko i imię), a jeśli arkusz dla danych osób już istnieje, to je pominie. Można np tak: 968207
Sam arkusz trochę dziwnie zaprojektowałeś. Przetestuj załączone rozwiązanie.
czy funkcja licz.jeżeli będzie tutaj przydatna Aby podzielić wszystko w kolumny najbardziej odpowiedni tutaj makro VBA. Ale najlepszy arkusz Excel niż zdjęcie ekranu. Lub nawet adres strony Web, być może do pobierania danych bezpośrednio z niego.
[syntax=vbscript]nazwa = ActiveCell.Value With ThisWorkbook .Sheets("wzor rodzinne").Copy ActiveWorkbook.SaveAs .Path & "\rodzinne\" & _ nazwa & ".xls" ActiveWorkbook.Close End With[/syntax]
Arkusz? Makro? Formularz?
Wywołaj w kodzie arkusza 'Kredyty' (makro 'ListaZb' w module) [syntax=vb]Private Sub Worksheet_Activate() ListaZb 'nazwa uruchamianego makra End Sub[/syntax]
nie rozumiem, jak to w kod arkusza? w makro?
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...
Odpowiednie formuły można skonstruować korzystając z funkcji LICZ.WARUNKI() i dodatkowej tabeli, w której będą zawarta lista wszystkich ekip i czynności. Na podstawie zliczania ilości osób w danej ekipie wykonujących daną czynność i mających urlop danego dnia można wyznaczyć ile osób pozostaje w dyspozycji pracodawcy. Załączam zmodyfikowany arkusz ilustrujący...
Tak z ciekawości postanowiłem sprawdzić czy da się prostymi formułami. Dla ułatwienia przyjąłem, że maksymalnie może być 5 powtórzeń. Jeśli ma być więcej, trzeba dołożyć warunki w kolumnie H oraz poszerzyć "grupy" w kolumnie N - Arkusz2. Wysokość tabeli wynikowej wg rozmiaru w Arusz1 4x3=12 komórek Trochę prymitywnie, ale działa :) Edit: wyszukaj.pionowo...
zamiast: If Cells(wrs, 1) <> "" Then powinno być: If .Cells(wrs, 1) <> "" Then (trzeba dostawić kropkę) Niemniej jednak proponuję najpierw odfiltrować całą oryginalną kolumnę (niepuste) i skopiować wszystko za jednym zamachem do nowego arkusza - trwa jedno mrugnięcie okiem.
Zakładając że w arkuszu 1 w kolumnie A kody nie są powtarzane oraz w arkuszu 2 i 3 tylko kody jak w arkuszu 1 [syntax=vb]Sub porownaj() Dim bd As Range Set bd = Worksheets("4").Cells Worksheets("1").Activate r = 1 While Cells(r, 1) <> "" rd = Application.CountA(bd.Columns(1)) + 1 Cells(r, 1).Resize(, 2).Copy bd(rd, 1) Cells(r, 3).Copy bd(rd, 5)...
Ok teraz masz kryteria w tablicach w kodzie VBA w razie jakbyś chciał dodać kryterium, musisz zwiększyć tablicę o 1 i dopisać do tego dodatkowego elementu kryterium z gwiazdkami. Jak zobaczysz kod to chyba będziesz wiedział o co kaman. Dodałem też zabezpieczenie przed kliknięciem dwa razy na makro
Cel jest prosty, chcę aby w każdej komórce w kolumne, wstawiało mi makro formułe do momentu kiedy np w kolumnie A będzie cokolwiek wpisane. W programowaniu nie ma 'na przykład. Dlatego pokaż arkusz wejściowy i arkusz po wykonaniu makra.:)
Szukam makro które porówna wiersze do siebie z dwóch kolumn. Porównanie ma polegać na wyłapaniu najbardziej podobnych tekstów min 5 znaków. STORNO
makro excel arkusz excel makro nazwa arkusz excel makro kopiować arkusz
zmywać pastę lutowanie nierdzewnej śruba oczkowa
Jak podłączyć sygnalizator dźwiękowy w skuterze elektrycznym? Oprogramowanie do Sharp LC-40FG5142E: Aktualizacja i Wsparcie