Dane - Filter nie dziala ?
Odpal takie makro [syntax=vb]Sub koko() r = 2 While Cells(r, 1) <> "" If Cells(r, 1) = Cells(r + 1, 1) Then Cells(r, 2) = Cells(r, 2) & vbLf & Cells(r + 1, 2) Rows(r + 1).Delete r = r - 1 End If r = r + 1 Wend End Sub [/syntax]
Ja również dziękuje.
Już w poprzednim wątku zwracałem uwagę, że dane mają być reprezentatywne. Tam nie było nic o tym, że numery bloków mogą się powtarzać i wobec tego w kodzie była wykorzystana zmiana numeru bloku w stosunku do poprzedniej. Teraz przyjąłem, że jeśli blok jest złożony z kilku elementów, to numeracja po / zaczyna się od 1. Trzeba te bloki jakoś rozróżniać....
Bardzo rozwlekle to napisałeś, a sprawa sprowadza się chyba do prostej pętli. Do kopiowania wartości nie należy używać Copy-Paste, tylko zwykłe przypisanie. Przypuszczam, że chodzi o taki kod: [syntax=vbscript]Sub Makro1() Dim n As Long For n = 4 To 8 Range("C16:C19").Value = Range(Cells(16, n), Cells(19, n)).Value Application.Run "'koszt.xls'!Makro2"...
[syntax=vbnet]Sub Kopiuj5() Application.ScreenUpdating = False Sheets("Arkusz1").Select ow = Cells(Rows.Count, "A").End(xlUp).Row nw = ow + 1 For x = 2 To ow If Cells(x, "C") > 1 Then Range(Cells(x, "A"), Cells(x, "C")).Copy Range(Cells(nw, "A"), Cells(nw + 4, "C")).Select ActiveSheet.Paste Range(Cells(nw, "C"), Cells(nw + 4, "C")) = 1 nw = nw + 5 End...
Powinno działać.
(Baza Zielone) 1 - nie do końca wiem czy o to Ci chodzi (próbowałem zrozumieć co chcesz osiągnąć - możliwe, że właśnie to co w załączonym pliku). Najprościej będzie posortować po pierwszej kolumnie tak aby puste wartości (matki) zostały na końcu i wówczas do kopiowania danych używasz formuły: 1060144 (Baza Niebieskie) 2 - już napisałem powyżej. Robisz...
Zmodyfikuj ten kod np tak :spoko: : [syntax=vbscript]Sub filtr() a = Range("C3") b = Range("C4") i = 7 c = 0 Do While Cells(i, 3) <> "" If (Cells(i, 3) >= a) And (Cells(i, 3) <= b) Then Rows(i).EntireRow.Hidden = False c = c + 1 Else Rows(i).EntireRow.Hidden = True End If i = i + 1 Loop [A1] = c End Sub[/syntax]
... JEŻELI(B9&C9&D9&E9&F9&am... ...
Jeżeli wprowadzisz odpowiednią kolumnę pomocniczą w arkuszu głównym :spoko: to pożądany efekt można uzyskać formułami jak na zrzucie 927750 Całość w załączniku. 927751
W kodzie arkusza [syntax=vbscript]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 1 Then Target.Resize(, 2).Interior.Color = vbRed Sheets("Arkusz2").Cells(Rows.Count, 1).End(xlUp).Resize(, 2).Offset(1) = Target.Resize(, 2).Value Cancel = True End If End Sub[/syntax]
Bez makra, wpisz numer do F1 - Druk
Poproś kogoś innego.
Dzień dobry, To jest chyba najbardziej typowe zastosowanie funkcji LICZ.WARUNKI. Funkcja LICZ.WARUNKI będzie liczyć od Excela 2007 wzwyż, funkcja SUMA.ILOCZYNÓW we wszystkich wersjach. Użycie funkcji SUMA.ILOCZYNÓW w ten sposób jest trochę sztuczne. Powinna być użyta funkcja SUMA, ale wtedy należałoby to wprowadzić przez Ctrl+Shift+Enter jako formułę...
Bez zbędnych selectów [syntax=vb]Sheets("Arkusz1").Range("G20"... Destination:=Sheets("Arkusz2").Range("G2...
Zobacz, czy o to chodziło. Starałem się jak najmniej zmieniać w Twoim kodzie, ale nie bardzo wiedziałem, czy chcesz szukać całych komórek z podaną zawartością, czy fragmentów. W tej chwili wyszukuje fragmentów. Nie jest ten kod za bardzo optymalny, bo wykorzystuje Find tylko do wyszukania arkusza, a potem szukanie wystąpień w arkuszu, to już porównania...
Na tą chwilę nie bardzo wiem, jak to poprawić. A przecież specjalnie Ci podpowiadałem :D możesz łatwo uchwycić obszar do aktualnego czyszczenia :arrow: jako obiekt Selection :D tzn. trzeba to zrobić raczej tak :spoko: [syntax=vbscript]Sub dodaj() Dim ile_w As Long Dim kom As Range Application.ScreenUpdating = False With ThisWorkbook.Sheets(ar_kusz)...
Niestety na służbowym kompie nie zobaczę Twojego pliku, więc tylko kilka wskazówek. 1. Proponuję przygotować szablon do kopiowania w oddzielnym arkuszu, nieużywanym przez kontrolerów. Można tam zapisać w razie potrzeby coś jeszcze, a docelowo można go będzie ukryć. 2. Żeby skopiować obszar (tabelkę), musisz wiedzieć gdzie to trzeba skopiować. Możesz...
[url=https://www.youtube.com/watch?v=ywS... coś znajdziesz.
W przykładowym pliku pokazałeś już dane posortowane, więc nie zobaczysz tak łatwo efektu, chyba że sobie posortujesz odwrotnie. Sposób postępowania, który najprościej zastosować: Rozdzielić listy pustymi kolumnami. Wartości z listy wzorcowej ponumerować od 1 do N w dodanej kolumnie. Do listy sortowanej dołączyć kolumnę z wyliczonymi numerami wg listy...
[syntax=vbscript]Sub Kopiuj() Set a = Sheets("Arkusz1") owa = a.Cells(Rows.Count, "B").End(xlUp).Row Sheets("Arkusz3").Select ow = Cells(Rows.Count, "B").End(xlUp).Row y = 2 For x = 2 To ow s = Application.Match(Cells(x, 2), a.Range("B1:B" & owa), 0) If Not IsError(s) Then a.Rows(s).Copy Sheets("Arkusz2").Range("A" & y) y = y + 1 End If Next End Sub...
[syntax=vbscript]For y = 1 To ile - 1[/syntax]
Myślę, że najlepsze wyniki czy nie od końca, ale od początku [syntax=vb]Sub Wstawianie_wierszy() Dim i As Long, r As Long, c As Long Application.ScreenUpdating = False i = 2 r = i While Cells(i, 11) <> Empty If Cells(i, 11) <> Cells(i + 1, 11) Then Rows(i + 1).Insert For c = 5 To 7 Cells(i + 1, c + 3) = Application.WorksheetFunction.Sum(Range(...
Usuń duplikaty ani tabela przestawna tu się nie przyda bo dochodzi warunek że usuń gdy puste ale nie gdy puste w Re_3 Stworzyłem w sumie proste makro (ono tylko tak wygląda) Pierwsza część kodu przepisuje wszystkie linie mające to samo zlecenie. Później następuje sortowanie. Następnie warunek sprawdza czy (w moim przypadku coś1) się powtarza jeżeli...
Wyszła mi taka formuła: [syntax=text]=ADR.POŚR("'[01 Par. -Styczeń 2017.xlsx]"&TEKST(WYSZUKAJ(100;B$7:B7);"... wykorzystuje liczby wpisane w kolumnie B. Wyniki muszą być wpisywane od siódmego wiersza. W kolumnie W jest formuła wyliczająca numer wiersza...
Spróbuj [syntax=text]=SUMA.JEŻELI(A1:I1;">0")[/s...
Zobacz, czy o to chodziło. Makro do kopiowania: [syntax=vbscript]Sub Kopiuj() Dim b As Worksheet Dim ow As Long Set b = Sheets(ActiveSheet.Index - 1) ow = b.Cells(Rows.Count, "A").End(xlUp).Row - 1 Dim CopyRng As Range, PasteRng As Range b.Range("A4:B" & ow).Copy ActiveSheet.Range("A4").PasteSpecial Paste:=xlPasteValues b.Range("N4:O" & ow).Copy ActiveSheet.Range("N4").PasteSpecial...
[syntax=vbscript]Cells(n, "B")[/syntax] [url=http://vb.amc24.pl/iso2/zmienne/typ...
Jednak wtedy kopiowanie danych różniących się do "pustych miejsc" trzeba będzie dokonać "na piechotę" Jeśli w kolumnie "title" nie będą występowały powtórzenia danych (duplikaty) to całą robotę wykona proponowana formuła przeciągnięta do dołu wynikowej tabeli :-)
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 ;)
Mówią, że deklarowanie zmiennych, to dobra cecha programisty. Są języki, gdzie bez deklaracji się nie da. W VBA nie jest _wymagane_ deklarowanie, ale jak chcesz, to używaj 'Dim'.;) P.S. Wykorzystałeś makro 'Kopiuj2'?
Żaden kłopot. Jeśli chodzi o zera, to najprościej wyłączyć wyświetlanie w opcjach: http://obrazki.elektroda.pl/6240352000_1... W komórkach G34:G40 zrób podobnie jak w G41 =JEŻELI(SUMA(G2;G10;G18;G26)...
[syntax=vbscript]Sub UkryjOdkryj() If [ZZ1] = 0 Then For x = 32 To 52 If Cells(x, "B") <> "" And Cells(x, "B") = 0 Then Rows(x).Hidden = True Next [ZZ1] = 1 Else For x = 32 To 52 If Rows(x).Hidden Then Rows(x).Hidden = False Next [ZZ1] = 0 End If End Sub [/syntax]
[syntax=vb]Sub numery() Dim wz As Worksheet, rs&, re&, i&, j& Dim bs As Range, bd As Range Set bs = ThisWorkbook.Sheets("baza").Range("B1:C1... 'platform, tara Set bd = ThisWorkbook.Sheets("start").Range("B1:C... 'wagony Set wz = ThisWorkbook.Sheets("wykaz_zdawczy") wz.Activate rs = 17 'wiersz poczatkowy re = wz.Cells.Find("podpis").Row...
Zakładając, że makro uruchamiasz przy aktywnym arkuszu wynikowym, konstrukcja powinna wyglądać mniej więcej tak ostWrs = tu szukamy ostatniej niepustej komórki w arkuszu wynikowym For Each sht In ThisWorkbook.Worksheets If sht.Name <> "tu nazwa arkusza wynikowego" Then ostWrsArk = tu szukamy ostatniej niepustej komórki w arkuszu źródłowym...
[syntax=vbscript]Sub AF() Sheets("A").Range("A4:R200").Clear For x = 2 To Sheets.Count For y = 4 To 300 If Sheets(x).Cells(y, "O") >= -30 Then nw = Sheets("A").Cells(Rows.Count, "O").End(xlUp).Row + 1 Sheets(x).Rows(y).Copy Sheets("A").Range("A" & nw) End If Next Next End Sub [/syntax]
Da się to zrobić w ten sposób: 1. wpisać dane kwota netto w kilka wierszy np od 2 do 5, 2. przeciągnąć formułę przeliczenia euro od wiersza 2 poza wiersz 5 o kilka (np 5) wierszy w dół. w miejscach gdzie nie było w wierszach danych kwot netto w kolumnie przeliczników pojawi się 0. 3. zaznaczyć obszar komórek z zerami i nacisnąć "del", nie poprzez usuń...
Zrób taką formułę, która sprawdzi ci czy w pierwszej kolumnie jest liczba całkowita, jeśli tak to skopiuje dane z kolumn X,Y1 i Y2 do nowego arkusza lub nawet w następne puste kolumny. A dalej to już sobie poradzisz.
Zazwyczaj funkcja powinna zwrócić wartośc Spójrz w pomocy VBA przykład funkcji(Help - Writing a Function Procedure) Twoja funkcja nie zwraca żadnej wartości.
to mi nic nie pomaga Oczywiście jeśli używany tylko w pogotowiu [syntax=vb]Private Sub ListBox1_Change() ListBox2.ListIndex = ListBox1.ListIndex End Sub [/syntax]
lub [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 7 And Target > 0 Then Rows(Target.Row).Hidden = True End Sub [/syntax] lub odpalic dla aktywnego arkusza [syntax=vb]Sub ukryj() For r = 2 To Application.CountA(Columns(1)) - 1 Rows(r).Hidden = Cells(r, 7) > 0 Next End Sub [/syntax]
Trzeba było od razu właściwie napisać. [syntax=vbscript]Sub Porownaj() Application.ScreenUpdating = False Set a = ThisWorkbook.Sheets("Output") Set b = Workbooks.Open(ThisWorkbook.Path & "\1 671 913 2.xlsx") owb = b.Sheets(1).Cells(Rows.Count, "D").End(xlUp).Row For x = 2 To owb s = b.Sheets(1).Cells(x, "D") y = x + 151 k = a.Cells(2, y) If k <>...
[syntax=vb] If ostatniwiersz <> 24 Then MsgBox "W arkuszu jest " & ostatniwiersz & " wierszy" [/syntax]
A zaznaczenie wierszy 2-5 a następnie menu Dane -> grupy i konspekt -> grupuj nie działa? P.S. UPS, spóźniłem się :/
O rety, ale mam zaskok :) W załączniku rozwiązanie z kolumną pomocniczą.
Dodano po 19 Excel / VBA / wstawianie i kopiowanie wierszy z rozdzieleniem wartości
Opisane trochę niejasne, ale funkcja PODAJ.POZYCJĘ a INDEKS może pomóc
Czy jest taka możliwość w Excelu 2010? Tak. Kolumna pomocnicza z max()+1 i formuła "na boku" z INDEKS(PODAJ POZYCJĘ Zobacz [url=http://www.elektroda.pl/rtvforum/to... załacznik #2
Użyj funkcji sumy.częściowe() (w argumencie funkcja zliczając np. ilość komórek liczbowych).
W załączniku.
To da się zrobić nawet za pomocą suma(). http://obrazki.elektroda.pl/9193961000_1... Pochrzaniłem zakresy sumowania dla środy - nie zwracaj uwagi na liczby .
firma z przypisanym kodem z kolumny A kod_2 nie ma znaczenia? Dodano po 43 [syntax=vb]Sub kokos() Dim bs As Range, bd As Range, bt As Range Dim rs&, re&, rd& Set bs = Sheets(1).Range("A:J").Cells Set bd = Sheets(2).Range("A:D").Cells re = bd(Rows.Count, 1).End(xlUp).Row + 1 Range(bd.Rows(2), bd.Rows(re)).Delete bs.Sort key1:=bs(1, 3), key2:=bs(1,...
chciałbym zeby wybierało tylko wiersze spełniające pewne warunk Jak zwał, tak zwał. Ale wyobraźmy sobie, że "wybierało" dzieje się w tej linii [syntax=vb]Print #1, kol1 & ";" & kol2; ";" & kol3; ";" & kol4; ";" & kol5; ";"[/syntax](wcześniej jest przypisanie). Wystarczy więc, tę jedną linijkę "owarunkować" [syntax=vb]if warunek then Print #1, kol1...
W zasadzie mozna to zrobić na trzy sposoby, mowa jest o drukowaniu arkusza bez "niechcianych" wierszy. 1. uzyć narzędzia Aparat fotograficzny 2. zastosować Grupy i konspekty 3. ukrywać wiersze niechciane Pozdrówka
Samo się wpisze...
[syntax=vbscript]Sub Zawiera() Sheets("Arkusz1").Select a = InputBox("Podaj tekst do szukania: ", "Wyszukaj") ow = Cells(Rows.Count, "A").End(xlUp).Row y = 1 For x = 1 To ow If InStr(1, Cells(x, 2), a) > 0 Then Range(Cells(x, 1), Cells(x, 2)).Copy Sheets("Arkusz2").Range("A" & y) y = y + 1 End If Next End Sub [/syntax] Poniżej bez rozróżniania wielkości...
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.
Sprawdź, czy o to chodziło andie
Hej. Jak dla mnie widzę tu tylko makro w Excelu. Niestety programista ze mnie kiepski, więc coś tam próbowałem wymyślić, jednak nie gwarantuję, że będzie działać idealnie. [syntax=vb]Sub Makro1() Const MaxR = 20 ' maksymalna ilość powtórzeń If ((Selection.Rows.Count < 2) Or (Selection.Columns.Count < 2)) Then MsgBox "Zaznacz obszar, na którym...
chodzi o to, żeby z 1 i 2 (i innych których nie ma we wzorze) arkusza z danej kolumny konkretnego pracownika na ostatni arkusz przenosiły się w osobną tablkę Jeżeli posiadasz Excela powyżej wersji 10 :?: to tego typu efekt jak na zrzucie 1047238 możesz uzyskać poprzez utworzenie tabelki połączonej (łącza z danymi z tabelek "kierunkowych" np w ukrytym...
Kopiowanie formuł jest właściwością tabeli i w zasadzie sposób odwoływania się nie powinien tu mieć znaczenia. Mnie jednak po przekształceniu zwykłego zakresu w tabelę, to od razu nie zadziałało, dlatego zmieniłem sposób odwołania. Można też raz skopiować formułę, a potem powinno już działać automatycznie. Jeśli po wpisaniu czegoś do kolumny C chcemy...
Witaj Odpal to makro [syntax=vb] Sub popraw() Dim bs As Range, r As Long Set bs = Sheets(1).Range("A:C").Cells r = 2 While bs(r, 1) <> Empty If (bs(r, 1) = bs(r + 1, 1)) And (Month(bs(r + 1, 2)) - Month(bs(r, 2)) > 1) Then bs.Rows(r).Copy bs.Rows(r + 1).Insert Application.CutCopyMode = False bs(r + 1, 2) = DateSerial(Year(bs(r, 1)), Month(bs(r,...
Przetestuj ten kod dla zdarzenia Worksheet_Change arkusza Form2. W komórce B4 arkusza Form2 wpisujesz jedynie numer rekordu do skopiowania. [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) Dim lLstRw& 'pierwszy wolny wiersz w arkuszu "baaza" Dim lLstRwBs& 'ostatni zapisany wiersz w arkuszu "zbaza1" Dim lFndRec& 'numer wiersza ze znalezionym...
Ale jeżeli chcesz zaznaczyć całe wiersze możesz zastosować "tekstowe połączenie": p = 20 k = 25 c = CStr(p) + ":" + CStr(k) I wtedy: Rows(c).Select lub (tak jak chciałeś Range(c).Select Albo wogóle bez zmiennej c Range(CStr(p) + ":" + CStr(k)).Select Przyznam że chwile szukałem gotowej funkcji ale znalazłem tylko zaznaczanie paru wierszy na raz (nie...
w przykładzie zeszyt3 [syntax=vb]Sub Wstawianie_wierszy() Dim i As Long, OstWrs As Long OstWrs = Cells(Rows.Count, 1).End(xlUp).Row 'ile wierszy Application.ScreenUpdating = False For i = OstWrs To 2 Step -1 If Cells(i, 1) <> Cells(i - 1, 1) Then Rows(i).Insert Next i Application.ScreenUpdating = True End Sub[/syntax] A tu kod z nazwą - ale nie...
Zamień w odpowiednim miejscu kod na poniższy: [syntax=vb] If b Like "[ ][ ]333" Then p4 = InStr(a, " 4") p7 = InStr(a, " 7") If p4 > 0 Then x4 = Mid(a, p4 + 1, 5) Else x4 = "" If p7 > 0 Then x7 = Mid(a, p7 + 1, 5) Else x7 = "" t = t & x4 & ";" & x7 & vbNewLine End If [/syntax] Wynikiem jest: 11406;42005;70005 11414;42005;79999 11423;44013;70001 11433;;70000...
OKNO -> zablokuj okienka następnie dodajesz usuwasz tyle wierszy i kolumn ile potrzebujesz i jak potrzebujesz aby nie były przesuwane podczas edycji. Pozdrawiam
Na obrazku efekt działania makra. Dane wejściowe z załącznika. Sprawdź, czy o to Ci chodzi (liczby w kolumnach D i F są sumowane). http://obrazki.elektroda.net/17_12597370...
To wersja makro, które wrzuciłem dokładnie to robi. Po przemieleniu Twoich przykładowych danych pozostało dokładnie 100 wierszy, z czego zostały tylko wiersze z "invoice" w opisie a także wiersze z kwotą 5.00 niezależnie od reszty opisu.
Popłynąłeś...;)
Ewentualnie jeszcze taki UDF: [syntax=vb]Function ZlaczTexty1Kolumna(zakres As Range, Optional separator As String) As String ZlaczTexty1Kolumna = Join(Application.Transpose(zakres.Value)... separator) End Function[/syntax]
Nie wiem, czy dobrze zrozumiałem, o co Ci chodzi, ale sprawdź w załączniku.
fragment: [syntax=vbscript] .Cells(Ow - 1, 6).Copy .Range(Cells(Ow, 6), Cells(Ow + Nw - 2, 6)).PasteSpecial _ Paste:=xlPasteFormulas[/syntax] zastąp tym: [syntax=vbscript].Range("F" & Ow - 1 & ":F" & Ow - 1).Copy .Range("F" & Ow & ":F" & Ow + Nw - 2).PasteSpecial _ Paste:=xlPasteFormulas[/syntax] i zmień nazwy kolumn w zakresie....
Można zwykłą pętlą For + kopiowanie komórek, np. [syntax=vb]Sub kopiowanie_danych() 'Arkusz1 to jest Worksheets("DANE") 'Arkusz2 to jest Worksheets("WARUNEK") 'Arkusz3 to jest Worksheets("DANE WYJŚCIOWE") Application.ScreenUpdating = False Dim war As String With Arkusz3 war = .Range("A1").Value If .FilterMode Then .ShowAllData .Range("C7:G" & Rows.Count).ClearContents...
Wypróbuj w "główny" takie makro [syntax=vb]Sub makro() ostw = Range("C65536").End(xlUp).Row Range(Cells(ostw - 2, 1), Cells(ostw, 11)).Copy Cells(ostw + 1, 1) End Sub[/syntax]Formuły powinny "ułożyć się" wg kolejności wierszy. Nie wiem tylko skąd pobierać nazwisko klienta...
lanzul , teraz to już za bardzo kombinujesz ;-) Przecież załączony csv ma wyraźnie 3 kolumny z danymi, co nawet zaznaczała autorka wątku ... :-)
Tu masz kod tego makra. Procedurę SzukajUlicy() podepnij pod jakis przycisk. Myślę, że z resztą sobie poradzisz. [syntax=vb] Option Explicit Sub SzukajUlicy() Dim ws As Worksheet Dim lWiersz As Long Const lKolumnaUlicy As Integer = 5 'E lWiersz = 4 'początkowy wiersz zawierający dane Dim sNazwaUlicy As String Dim Znalazlem As Boolean sNazwaUlicy = InputBox("Podaj...
Nie podałeś zbyt wielu szczegółów, nie wiadomo, czy poza tymi kolumnami A:D są jakieś wypełnione komórki. Jeśli nie, to może wystarczy UsedRange? Jeśli są, to możesz spróbować Find: [syntax=vbscript]Sub Zaznacz() Dim x As Long With ActiveSheet x = .Columns("A:D").Find("*", .Range("A1"), xlValues, xlPart, _ xlByRows, xlPrevious).Row .Range("A1:D" & x).Select...
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
W zasadzie nie wiem czy Cię to zadowoli, ale pokombinowałem tak: w kolumnie L w obydwu arkuszach, połączyłem poszczególne komórki kolumn od A do E (dla szybszego szukania). W kolumnie K zastosowałem funkcję PODAJ.POZYCJE z parametrem 0 (dokładne porównania). Jeśli w komórce, w której jest funkcja pojawi się wartość #N/D, to oznacza, że brak jest odpowiednika....
Witaj Łatwiej zrobić nowy niż szukać błędów: Dodano po 3 Specjalnie w tym przykładzie może być łatwiej [syntax=vb] Sub Usun() Dim r&: r = 2 While Cells(r, 1) <> Empty If Cells(r, 1) = "X" Then Cells(r, 1).Delete Shift:=xlToLeft End If If Cells(r, 2) = "Linia" And Val(Left(Cells(r, 3), 3)) >= 1 Then r = r + 1 Else Rows(r).EntireRow.Delete...
Coś więcej o tych liczbach? Czy się powtarzają w obrębie wiersza? Czy liczbę z kolumny A chcesz porównywać tylko z innymi w kolumnie A? Czy są uporządkowane rosnąco w wierszu? W każdym razie - w załączniku przykład takiej metody "brute-force" z zagnieżdżonymi pętlami.
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...
Nie uruchamiam makr z nieznanych arkuszy na swoim kompie, a nie chce mi się wirtualnej maszyny tworzyć :) No to użyj COUNT i potem GROUP BY http://obrazki.elektroda.pl/8515402300_1... Dodano po 37 Oba te polecenia znam i wykorzystuję. Ilość dachów ,ilość błędów i suma punktów. (nie mogę tylko wyniku wkleić w textBoxa a było by ładniej :( )...
[syntax=vb]Range(Cells(lOstRw, 12).Offset(1, 0), Cells(lOstRw, 19).Offset(1, 0)).FormulaR1C1 = "=SUM(R[-" & lOstRw & "]C:R[-1]C)"[/syntax]
Nie bardzo rozumiem, gdzie w tym jest ukryty problem. Zerknij na arkusz i napisz co jest nie tak:
[syntax=vb] Sub SzukajCiagu() Dim x As Long, y As Long, z As Long, SzukaneSlowo As String x = 1 z = 1 Sheets("PrzeszukiwanyArkusz").Select While Cells(x, 1) <> "" y = 1 While Sheets("ListaSlow").Cells(y, 1) <> "" SzukaneSlowo = Sheets("ListaSlow").Cells(y, 1) If InStr(1, Cells(x, 5), SzukaneSlowo) > 0 Or InStr(1, Cells(x, 6), SzukaneSlowo)...
Szukam funkcji która by pobierała wartość z komórki i szukała numeru wiersza wyświetlając jego zawartość Funkcja [syntax=vb]=INDEKS(A:A;H8;1)[/syntax]?
Piszesz w sposób tak mętny, że trudno Ci pomóc. Dlaczego nie używasz normalnych adresów komórek, tylko nadajesz jakieś własne dziwne adresy, że potem trudno się połapać o co chodzi. Piszesz cały czas o polu (komórce) D12, ale to jest w arkuszu F12 (chyba o tę komórkę chodzi?). Nie wiadomo, czy jest Ci potrzebna tylko ta jedna formuła, czy chcesz ją...
Dzień dobry, Rozumiem, że te formuły mają wypełnić całą kolumnę A, tak? Można zrobić tak: 1) zmienić odwołanie w komórce na względne, tzn. [syntax=text]=[arkusz1.csv]Arkusz1!$A2[/... Chodzi o to, żeby przed dwójką nie było znaku $. Przed A może być lub nie, bez znaczenia 2) kliknąć literę A nad kolumną, zaznaczy się cała kolumna 3) kliknąć w linii...
Powinien być dobry
No cóż, nie powinienem propagować łatwizny, ale to tak dla przykładu i oczywiście ulepszenia, bo działa (zamierzone) wkurzająco (ale działa). :D
Najprościej [syntax=vbscript]For i = 2 To Sheets.Count Sheets(i).Activate ostw = Range("A" & Rows.Count).End(xlUp).Row Range("A2").Select Do Until ActiveCell.Row > ostw If ActiveCell <> "" Then If Rng.Range("c2").Value <> "" Then Nextrow = Application.WorksheetFunction.CountA(Rng... + 5 Else Nextrow = Application.WorksheetFunction.CountA(Rng...
Witaj [syntax=vbscript]Sub wypelnienie() Dim ow As Long ow = Cells(Rows.Count, "J").End(xlUp).Row Range("L2:W2").AutoFill Destination:=Range("L2:W" & ow), Type:=xlFillDefault End Sub [/syntax]
Witam W pierwszej linii wzoru jest inny
W pliku są dwa arkusze wynikowe. Jeden roboczy, drugi po poskładaniu wszystkich funkcji do kupki.
Skoro raport ma 300000 wierszy, to zmienna i musi być zadeklarowana jako long. W którym miejscu Twoje makro się zatrzymuje? A tak w ogóle to zamiast mozolnego porównywania każdej komórki z elementami tablicy przy pomocy pętli to poszedłbym w sprawdzenie przy pomocy odpowiednika arkuszowej funkcji PODAJ.POZYCJĘ czy wartość danej komórki jest w tablicy....
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.
O, teraz widać. Zdaje się, że szło by coś wykombinować. Po mojemu: 1) trzeba znaleźć ostatnią niepustą (Nr wiersza) w kolumnie A. Gotowe przykłady z PODAJ.POZYCJĘ do odszukania w Internecie. 2) funkcja WIERSZ(), sprawdzenie parzystości (funkcja MOD), odejmowanie Nr wierszy + sprawdzenie czy reszta z dzielenia przez 5 równa zero (5 element segmentu)...
wstawianie wierszy excel ukrywanie wierszy excel excel usuwanie wierszy
libra schemat rodzaje pracy silników światło cofania przyczepki
aktualizacja esperanza ev107r resetuj dekoder
Jak zdjąć antenę immobilisera z kluczyka Skoda Octavia II 2004 Marantz PM7000 czy Denon PMA-1055R - który wzmacniacz wybrać?