[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]
Na przykład tak: [syntax=text]=ILE.NIEPUSTYCH(A1:INDEKS(A...
Powinieneś dodać własny skoroszyt jako przykład, co chcesz osiągnąć, bo w Excelu różne drogi prowadzą do celu. W każdym razie jeśli używasz funkcji ADR.POŚR, to jej pierwszy (a często jedyny) argument musi być w cudzysłowie - jeśli oznacza adres, z którego chcemy pobrać dane. Natomiast bez cudzysłowu - jeśli to jest komórka, która dopiero zawiera potrzebny...
Brakuje pętli... Jeśli chcesz porównać komórki w zakresie z jakąś liczbą (tu średnia), to wpisz zakres do tablicy i porównuj z każdym elementem, lub prościej - zastosuj pętlę Np 'For Each kom In Range("N2:N11")'
Jeśli nie ma górnego ograniczenia dla wprowadzanych liczb procedurę Walidacji można zapisać też tak: [syntax=vb]With ark.Range("E6:F" & dstW).Validation .Delete .Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, _ Operator:=xlGreater, Formula1:="0" .IgnoreBlank = True .InCellDropdown = True .InputMessage = "Wprowadź liczbę całkowitą" .ShowInput...
Bez załącznika, w którym można to sprawdzić, to trudno mieć pewność, ale jeśli nazwa arkusza była w komórce [syntax=vbscript]Sheets("Data").Range("L... arkusz będzie [syntax=vbscript]Sheets(Sheets("Data").R... jeszcze konkretna komórka: [syntax=vbscript]Sheets(Sheets("Data").R...
Np. dla zakresu A1:B5 Od początku powinno być odblokowany. [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) Dim zakres As Range Set zakres = Range("A1:B5") If Intersect(Target, zakres) Is Nothing Then Exit Sub Me.Unprotect 'haslo Target.Locked = True Me.Protect 'haslo End Sub [/syntax]
Po dodaniu w 2 linijce jak wyżej mam " invalid use of prioerty" U mnie działa
(...) przesunięcia zakresu DataRangeOBAYield o 7 wierszy w prawo dla każdego z dwóch zakresów (...) Chodzi o wiersze w dół, czy kolumny w prawo? Można zastosować InputBox, gdzie wpisywane będzie przesunięcie: 0 - B1:H1,B31:H31 1 - o siedem wierszy/kolumn w z góry upatrzoną stronę itd, jeśli jest taka potrzeba Zmienną obiektową masz zadeklarowaną......
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]
Niekoniecznie trzeba rozbijać na pojedyncze zakresy. Może być zakres złożony, ale zapisany tak: [syntax=vbscript]Sheets("KARTA").Range("... I24:P25, B50:AA66, B71:AA79, B84:AA87, B93:AA111").ClearContents [/syntax] Spacje można pominąć. Ograniczeniem jest długość tekstu adresów, która nie może przekroczyć 255 znaków. Jeśli miałoby być więcej, trzeba...
Kontynuując, pola tekstowe należałoby "uporządkować numerycznie" zaś jedną etykietę (data) nazewniczo, np. tak: [syntax=txt]lab_dzis => 'Etykieta z wyświetlaną "dzisiejszą datą" TextBox1 => 'Nazwisko TextBox2 => 'Ulica TextBox3 => 'Kod pocztowy TextBox4 => 'Miejscowość TextBox5 => 'PESEL TextBox6 => 'NIP TextBox7 => 'Telefon TextBox8 => 'Pocztel TextBox9...
Próbujesz w OpenOffice uruchomić makro napisane w Excelu? Nie będzie działać. Trzeba przepisać. Mnóstwo informacji znajdziesz w Internecie. Tu przykład makra wydruku z zapisaniem "oryginał/kopia": http://obrazki.elektroda.pl/5534132900_1... Generalnie nie jest to trudne. Trzeba "złapać". Zakres C7:C10 aktywnego arkusza w VBA zapisujesz...
Kod czego ... pętli ... tablicy ? Pętli przecież masz, a tablica niekoniecznie potrzebna, można np. tak (o ile problem poprawnie opisany): [syntax=vbscript]Option Explicit Private Sub CommandButton2_Click() Const pth = "P:\RAPORT\" Const fle = "Plan wk" Const sht = "Main sheet" Const fsht = "R" Dim x As Integer, week As Integer Dim dzientygodnia As...
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...
Użyj pętli For, wyłączając arkusz docelowy w instrukcji warunkowej. [url=http://www.elektroda.pl/rtvforum/to...
[syntax=vb]Sub copy_ujemne() For wiersz = 4 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(wiersz, 1) < 0 Then Cells(wiersz, 3) = Cells(wiersz, 1) Next End Sub [/syntax]
Spróbuj rozdzielić parametr userChoice :D Zmniejszysz ilość cases i obsłużysz wszystkie offsety :spoko: [syntax=vbscript]Dim userChoice As String Dim Choice As String Dim k As Integer userChoice = InputBox("Please type PRODUCT name.") Choice = Mid(userChoice, 1, 1) k = CInt(Mid(userChoice, 2)) - 1 Select Case Choice ... Case "Z" Sheets("CAT. Z").Range("F3:F154").Offset(0,...
Dobry wieczór, Nie znam się na SolidWorks, ale w kodzie VBA widzę przynajmniej dwa błędy: pierwszy w połączeniu Range("Q5...BJ5").Selection.Copy Powinno być rozbite na dwie instrukcje Range("Q5...BJ5").Select Selection.Copy Można też pominąć selekcję i pozostawić tylko: Range("Q5...BJ5").Copy Drugi błąd: Active.Worksheet.Paste Po pierwsze ta instrukcja...
Zrobiłem formatowanie warunkowe na jednym wierszu. https://filmy.elektroda.pl/13_1523001701...
Dlatego się "nie zmienia" bo wszystko masz powiązane z jedną komórką celu. Ale to i tak by nic nie dało gdyż obliczenia na "karta" dotyczą tylko jednego pracownika na raz (czyli tylko jednej listy rozwijalnej), więc nie zobaczyłbyś nic więcej (byś musiał pod każdą listę robić oddzielny arkusz "dublujący" arkusz "Karta"). Wydaje mi się że nie do końca...
[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]
Co Ty na to JRV? Gdyby arkusza, byłoby to rozwiązanie
Wypróbuj to: [syntax=actionscript]=JEŻELI(LICZ.JEŻELI...
[syntax=vb] Sub Generuj() Dim i As Integer Sheets("Liczby").Select Randomize For i = 1 To 4 Cells(2, i + 1) = Int(Rnd() * 30) + 15 'B2:E2 Next End Sub Sub CommandButton2_Click() Call Generuj Range("F20").FormulaLocal = "=SUMA(B2:E2)" Call Mnozenie MsgBox "Oto suma: " & Range("F20") End Sub Sub Mnozenie() Dim Mnoznik As Single, i As Integer Mnoznik =...
Range("G6:G89").Select Jak go zmienić, żeby zakres brał pod uwagę wszystkie niepuste komórki w tej kolumnie? Więc tak, jeżeli chcesz, żeby z całej kolumny zaznaczył zakres składający się z niepustych komórek to będzie takie makro: Sub proba() Dim x As Double Dim zakres As String For x = 1 To ActiveSheet.Cells(ActiveSheet.Rows.C... "G").End(xlUp).Row...
Trzeba znać nazwę arkusza. Nabela odpowiada rzeczywiste Zdjęcia w #1 ?
Jeśli można z kolumną pomocniczą, to patrz załącznik.
Np funkcja LICZ.JEŻELI(zakres komórek;nr tel)
Nie znam się ale myślę, że sprawdzając od pierwszego do ostatniego arkusza całe zakresy komórek.
A próbowałeś zastosować formatowanie warunkowe dostępne bezpośrednio z paska narzędzi? Wystarczy zaznaczyć zakres komórek i wybrać typ/sposób formatowania.
Sprawdź takie makro: Cells(CC, 3).Cut zastąp linijką Cells(CC, 3).Copy . Makro działa od pierwszego wiersza, jeśli pierwszy wiersz Twojej tabeli to nagłówek, początkowe parametry CA oraz CC zmień na numer wiersza, od którego zaczynają się faktyczne dane. Makro działa do momentu napotkania pierwszej pustej komórki w kolumnie C.
lecz widoczny wynik to sam wiersz Sumy A jaki zakres komórek obejmuje nazwa Cena :?: :D Jeśli chcesz sumować "tylko widoczne" - zmień formułę na =SUMY.CZĘŚCIOWE(9;[Cena]) :idea:
To chyba proste. Jak się pojawia nowa to porównać ją z zapamiętaną. Jak jest większa (ta nowa) to ją zapamiętać, a jak nie, to czekać na następną. W zakresie komórek można użyć funkcjję MAX(), która zwraca wartość największą ze wskazanego zakresu.
Sprawa jest bardziej skomplikowana niż się na pierwszy rzut oka wydaje, bo Target.Value w zdarzeniu Change będzie też przyjmowało puste wartości (przy czyszczeniu/usuwaniu komórki), a także może być zakresem Range() np. przy kopiuj - wklej do kilku komórek (podobnie przy czyszczeniu zakresu komórek), przez co makro będzie się wywalać. Trzeba ew. je...
A może wystarczy dla tych komórek samo sprawdzanie poprawności? Wg mnie prościej. Stań na komórce gdzie maja być inicjały i : http://obrazki.elektroda.pl/6253839200_1... http://obrazki.elektroda.pl/8571485200_1... (oczywiści lista inicjałów może być gdzie indziej. Na marginesie: jeżeli lista jest w innym arkuszu to musi...
Dzień dobry, Jest taka możliwość, tylko zakresowi komórek tworzących listę trzeba nadać nazwę np. lista i przy definiowaniu źródła trzeba użyć tej nazwy: =lista (ważne, żeby było = na początku). Zakres musi zawierać pustą komórkę, a pole "ignoruj puste" musi być zaznaczone. Powodzenia!
Spróbuj formatowania warunkowego wg takiego wzoru: [syntax=text]=WIERSZ()>PODAJ.POZYCJĘ(PRA... komórek do sformatowania musisz sobie zaznaczyć definiując formatowanie. Formuła formatowania jest zapisana z punktu widzenia pierwszej komórki obszaru formatowania, zakres wierszy w formule musi być zgodny z tym, jaki obszar...
Jest taka funkcja - LICZ.JEŻELI(zakres, kryteria). zakres - podajesz zakres komórek do przeszukania np. A1:A10 kryteria - liczba, wyrażenie bądź tekst. Oczywiście jeżeli każdy wpis jest w oddzielnej komórce.
Porównujesz wartość komórki z zakresem komórek. Jeżeli ma być że jest równe jednej lub drugiej z tego zakresu, użyj funkcji logicznej LUB(). Natomiast jezeli w zakresie chcesz coś znaleźć, to funkcja JEŻELI jest całkowicie nieprzydatna, tu trzeba użyć funkcji WYSZUKAJ.PIONOWO albo WYSZUKAJ.POZIOMO.
Najprostsze rozwiązanie jakie mi przychodzi w przypadku sekund to wykorzystanie w komórce G28 funkcji SUMA dla zakresu komórek G15:G27. Suma i tak będzie jednego składnika bo w danej chwili wyświetla się tylko jeden wiersz, więc wartość sumy będzie równa sekundom z jednej komórki.
Jeśli ma to działać w jakimś jednym konkretnym arkuszu, to w module kodu tego arkusza umieść taką procedurę: [syntax=vbscript]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = "$B$2" Then Sheets("1").Activate Cancel = True End If End Sub[/syntax] A to co dopisałeś, to nie bardzo rozumiem. "Do poniższego...
szukałem, kombinowałem i zawsze coś nie wychodziło :/ =JEŻELI(LUB(G34<238;G34>407);"..."... to działa dokładnie tak jak chciałem, dzięki za pomoc :) Co tu jest do kombinowania? Suma logiczna 2 warunków? A co do podziękowania to w dobrym zwyczaju jest wciśniecie przycisku pomógł.. ;)
[syntax=vb] Sub czyszczenie() Dim ow&, r&, oc&, wr& ow = Cells(Rows.Count, 1).End(xlUp).Row r = 1 While r <= ow If Cells(r, 1) <> Empty Then oc = Application.Match("wymiar", Rows(r - 1), 0) - 1 wr = Cells(r, 1).End(xlDown).Row Range(Cells(r, 2), Cells(wr, oc)).ClearContents r = wr End If r = r + 1 Wend End Sub [/syntax]
Witam serdecznie Próbuje już od dwóch miesięcy znaleźć odpowiednie makro dla siebie ale niestety wszystko co znajduje nie jest w całości moim zapotrzebowaniu, znalazłem prawie wszystko w ułamkach ale nie jestem w stanie tego sklepać w całość. Chciałbym stworzyć makro które: 1. wyśle maila z treścią komórek C2:D16 z arkusza o nazwie "zestawienie" w tej...
Dobry wieczór, Formuły otoczone nawiasami klamrowymi są to formuły tablicowe. Formuły te działają w inny sposób niż formuły zwykłe. Zatwierdza się je nie samym Enter, lecz kombinacją Ctrl+Shift+Enter. Komórki z tymi formułami można kopiować w całości w zwykły sposób, natomiast gdy poddaje się je edycji trzeba na końcu użyć Ctrl+Shift+Enter. Formuła...
dodałem to With OutMail .To = Range("k2").Value & ";" & range("k3").value i tak dalej
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.
Ukrywanie kolumn lub wierszy, które nie są drukowane
[syntax=vbscript]Sub Laczenie() k = Array("AD", "AF", "AG", "AH", "AJ", "AK", "AN", "AO", "AP", "AQ", "AS", "AW", "AX", "AY", "BB", "BC", "BE", "BH", "BM", "BN", "BO", "BV", "BY", "BX", "BY", "BZ", "CB", "CD", "CG", "CH", "CM", "CN", "CO", "CZ", "DB", "DC", "DD", "DE", "DH", "DI", "DJ", "DM", "DN", "DX", "EC", "EM", "EN", "EU", "EW", "EY", "FD", "FF",...
To już wystarczyło zmienić numery wierszy w adresach. Natomiast ważne, aby nie kopiować formuł tablicowych do scalonych komórek. Generalnie to ze scalonymi komórkami same kłopoty. Scalanie komórek - jeśli jest konieczne - powinno być ostatnią czynnością w arkuszu, po umieszczeniu wszystkich danych i formuł. Pozdrowienia
Wykorzystaj formatowanie warunkowe, a w warunku wykorzystaj funkcję licz.jeżeli() i gdy wynikiem funkcji będzie jeden lub więcej to niech się komórka sformatuje na czerwono. Dodaj drugi warunek do formatowania warunkowego analogicznie jak pierwszy tylko na drugą grupę danych i tyle. dodane po chwili --------------------------------------- Zerknąłem...
Rozumiem, że masz świadomość, że na samej liście rozwijanej kolorów nie będzie widać, bo taka już jej uroda. Natomiast można ustawić kolor za pomocą makra zdarzeniowego Worksheet_Change na podstawie wyboru z listy. Zakres komórek wzorcowych ma nazwę "Wzornik". Sprawdzanie poprawności trzeba ustawić ręcznie, pamiętając o wyłączeniu alertów. Komórki ze...
Manual do FX1N mówi że ten zakres komórek D jest podtrzymywany kondensatorem. Czas podtrzymania określony jest na około 10 dni. Ten sterownik nie ma wbudowanej baterii, ale jest możliwe użycie modułu opcjonalnego FX1N-BAT. https://obrazki.elektroda.pl/4658818800_... Po drugie, wartość w D272 sugeruje że odczytujesz ją jako rejestr DD...
Czy ktoś wie jak skonstruować taką funkcję? Akurat wiem jak transponować... ale tablice danych :sm9: 866748 z wykorzystaniem funkcji tablicowych i nazwanych zakresów komórek - jak w załączniku. :spoko: 866750
[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]
Propozycja kodu w VBA jest bardzo zgrabna, ale Excel też nie jest bezsilny wobec takiego problemu, tylko trzeba użyć formuły tablicowej, np. takiej: =SUMA(JEŻELI(MOD(NR.KOLUMNY(zakres1)-NR.... Formułę zatwierdzamy przez Ctrl+Shift+Enter. Znaczenie oznaczeń: zakres1 = zakres komórek od pierwszej do przedostatniej zakres2...
Jeśli w Excelu używasz funkcji ŚREDNIA do zakresu komórek, to Excel bierze pod uwagę tylko komórki wypełnione liczbami. Nie przeszkadzają mu komórki puste ani komórki z tekstami. Przeszkadzają tylko błędy, bo to uniemożliwia obliczenie. Więc jeśli za każdym razem potrzebujesz tylko bieżącą średnią, to możesz użyć pełnego zakresu z zapasem i stopniowo...
Możesz użyć funkcji użytkownika: [syntax=vbscript]Function ZlaczTexty1Kolumna(zakres As Range, Optional separator As String) As String 'funkcja łączy wartości z jednokolumnowego zakresu komórek w jeden ciąg tekstowy oddzielony zdefiniowanym separatorem 'funkcja działa tylko dla zakresów ciągłych ZlaczTexty1Kolumna = Join(Application.Transpose(zakres.Value)...
Tak dokładnie, tylko z zakresu komórek Z2:AA2 w arkuszach innych niż aktywny [syntax=vbscript]For Each ws In Sheets If ws.Name <> ActiveSheet.Name Then With ws.Range("Z2:AA2") .Value = .Value End With End If Next ws[/syntax]
To jest porównanie zmiennych, gdzie zmienna "kom" ma domyślną wartość "Value" i jest porównywana ze zmienną "MergeArea", która jest na tyle nieszczęśliwie dobrana nazewniczo, że ma tę samą nazwę co zastrzeżona w vba właściwość "MergeArea" ... :-) ... Skorzystaj nie tylko z właściwości "MergeArea", ale również z "MergeCells", która zwraca info o tym,...
Listę tworzysz wchodząc w: Dane >> Sprawdzanie poprawności W kryteriach poprawności wybierasz: Dozwolone: > Lista a jako źródło podajesz zakres komórek w którym są wartości na listę.
Witam. Na samym początku chcę powiedzieć, że moja wiedza w zakresie programowania VBA, jest bardzo ograniczona. Potrzebowałbym skryptu, który powoduje kopiowanie komórek w dół kolumny. W taki sposób, że kopiuje komórki z numeru rejestracyjnego do kolejnego numeru. Jak napotka kolejny numer to kopiuje zasięg do kolejnego numeru. Z góry dziękuję za jakąkolwiek...
Wersja zmodyfikowana. Dodałem komentarze, żeby wiadomo było co należy zmienić. Użycie tabeli Excela byłoby celowe gdyby ta tabela zmieniała miejsce. Przy przesuwaniu zakresów komórek można stosować notację z przesunięciem np. jeśli był zakres Range("A1:D1"), a teraz jego początek chcemy przenieść do C4, to można to "wyliczyć" tak: [syntax=vbscript]Range("C4").Range("A1:D...
Witam, jako początkujący w VBA zaciąłem się nad zagadnieniem jak skopiować dane z kilku zakresów w jednym arkuszu do drugiego arkusza w momencie wyboru i wskazania konkretnej komórki. Mam arkusz formularza, z którego chcę uruchamiając makro, otworzyć arkusz rejestru i bez przeszukiwania pierwszego wolnego wiersza wskazać dowolną zaznaczoną przez siebie...
Jak masz nazwę tabeli, to wystarczy do jej identyfikacji. A na przyszłość zawsze daj załącznik. [syntax=text]Private Sub CommandButton1_Click() ListObjects("Tabela7").ListRows.Add AlwaysInsert:=True End Sub [/syntax]
A gdzie ta tabela przestawna, bo nie widzę :( Właściwie to widzę tylko tabelkę z wpisanymi liczbami. Jeśli powinna być, to zapisz w postaci normalnego pliku xls - nie każdy ma Excela 2007
Jest tu faktycznie niekonsekwencja. Zakres B3:K13 liczy 10 kolumn i 11 wierszy. Inny sposób rozwiązania. Zdefiniować nazwę "zakres" wg wzoru: [syntax=text]=PRZESUNIĘCIE(ADR.POŚR(KOMÓ... przykładowy zakres obejmuje 5 wierszy i 3 kolumny. To sobie poprawisz tak jak chcesz. Początek zakresu ustalasz ustawiając kursor (komórkę...
Można albo za każdym razem zaznaczać obszar, albo użyć VBA. Do samego włączenia autofiltra, można wykorzystać coś takiego: [syntax=vbscript] Sub Filter() ActiveSheet.UsedRange.AutoFilter End Sub [/syntax]
Podpowiedź numer 2: [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) [/syntax]
Spróbuj takiej modyfikacji :D zaznaczyć cały zakres "do scalania" :idea: Twój kod też działa ale tylko jeśli zaznaczysz obszar z jedną wartością :please:
Witam Mam makro która wstawia obrazek w określone miejsce w arkuszu i skaluje go. Problem polega na tym że jest na sztywno zdefiniowane z jakiej komórki ma pobrać adres pliku "Inf!A29" = C:\Documents\SNC00056.jpg i w jakie komórce jest zakres gdzie wstawić "Inf!H23" = A1:D10. Dal 5 obrazków musiał bym zdefiniować 5 takich procedur jak przekazać adres...
A jest możliwość tak zmodyfikować kod, aby brane pod uwagę były również słowa dwu/trzy/cztero wyrazowe? Może tak? Tyle że mechanizm takiego porównywania zadziałałby dwa razy w przykładzie dla frazy ze zwrotem "Rower wodny". Raz znalazłby Rower, raz Rower wodny. Aby jakoś to wyeliminować zakładam, że powinna zostać zwrócona ta dłuższa wartość.
A mógłbyś pokazać rozwiązanie z zastosowaniem makra, tak aby jeszcze pogrubiało No nie :cunning: - to zupełnie nie ma sensu łączenie rozwiązania "formułowego" z rozwiązaniem VBA :cry: Żeby uzyskać efekt jak na zrzucie: 864550 konieczne jest precyzyjne rzeźbienie (musisz przewidzieć, które fragmenty tekstu mają być pogrubione :crazyeyes: ) wszystkiego...
W taki sposób tego nie zrobisz. Właściwości komórki można porównywać ze zmienną, ale każdą właściwość musisz porównywać osobno. Każda właściwość ma swoją wartość (liczbową, tekstową lub logiczną) i to można sprawdzić i uzyskać odpowiedni wynik, ale nie da się sprawdzić hurtem całego formatowania jednej komórki w stosunku do drugiej. Na przykład możesz...
[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]
Do While ... Loop jest niewłaściwym warunkiem. Pętla For Each ... Nex przeszuka wszystkie komórki zakresu, natomiast wybór komórki z tekstem 6-cio znakowym powinien nastąpić przez If ... End if.
Robisz pętlę po komórkach pierwszego arkusza i dla każdej wartości wyszukijesz w drugim produkty względem tej wartości. Wszystko co znajdziesz przepisujesz do 3 arkusza. Pozostaje zagregować dane w 3 arkuszu, bo produkt może wystąpić po kilka razy. Unikaj Select'ów, zamiast tego możesz odwoływać sie do komórek bezpośrednio poprzez Sheets(NazwaArkusza...
Do odnalezienia minimum: =MIN(zakres komórek) dla maksimum: =MAX(zakres komórek) odejmowanie: =MAX()-MIN() ten sam wynik (bo ma być dodatni) można uzyskać: =MODUŁ.LICZBY(komórka1 - komórka2) nie ma znaczenia czy kom1 > kom2 czy kom1 < kom2 wynik zawsze będzie ten sam. Nie wiem czy to jest do końca zrozumiałe....
Jeśli to miałyby być formuły, to tak jak napisałem: Trzeba wpisywać po kolei od lewej z zachowaniem ciągłości numeracji. Jeśli chcesz modyfikować dane losowo, to tylko VBA. A jeśli VBA, to musiałbyś opisać jak dokładnie miałoby to działać. Czy zakres komórek C6:P6 byłby stały? Czy kolejność numerów miałaby być korygowana na bieżąco po każdym wstawionym...
Można np. tak:[syntax=text]=JEŻELI(LICZ.JEŻELI(APY... sobie dopasuj, tu jest taki jak był w przykładowym pliku, w poście powyżej podałeś trochę inny.
Witam Próbuję znaleść gdzieś procedurę pozwalającą na wypełnienie komórek których liczba (zakres): - byłaby równa definiowanej wartości od 1....(np 10 = zaznaczenie 10 komórek) - pierwsza zaznaczana komórka wzdłuż osi x (oś czasu) musi być dowolnie definiowana (jeżeli 1 komórka to np; 1 dzień to po wpisaniu wartości (4,10) powinno zaznaczyć się 10 komórek...
Chce przeszukać swoją bazę danych, ale napotykam na problem z którym nie mogę sobie poradzić. Mianowice funkcja "Wyszukaj.pionowo" może szukać wartości tylko dla 1 komórki. Natomiast u mnie jest w kolumnie kilka takich samych komórek. Jakiej funkcji użyć, żeby zamiast 1 komórki (np. A2) były np zakres komórek (A2:A4). Nie chodzi mi o sortowanie, bo...
Dodając kolejne wiersze, zawartość komórek przy odwołaniu bezwzględnymi jest stała i zaciąga dane które ma zaciągać, ale już komórki z owymi formułami ulegają przemieszczeniu. Nie widzę tu nic niezwykłego. Możesz dokładniej wyjaśnić? Lub napisz co chciałbyś osiągnąć. Może jakiś plik z przykładem.
Dobry wieczór, Jeżeli w Arkuszu2 nie będzie niczego więcej poza tym kryterium i zakres kryterium będzie ciągły (bez pustych komórek), to chyba najprościej zamiast konkretnego zakresu napisać UsedRange, czyli w tym przypadku: [syntax=vb]CriteriaRange:= Sheets("Arkusz2").UsedRange[/syntax] Pozdrowienia
[syntax=vbscript]Sub Dopisz() nw = Cells(Rows.Count, "C").End(xlUp).Row + 1 For x = 5 To nw If Cells(x, "C") = "" Then Range("C" & x) = "Szukaj pierwszej wolne i wpisz, za każdym kliknięciem" Range("D" & x) = "1" Range("F" & x) = "Przykład" Range("C" & x).Interior.ColorIndex = 37 Range("E" & x) = Application.UserName Range("C" & nw + 1).Activate Exit...
Można również połączyć zakresy komórek i wówczas kod jest następujący:[syntax=vb] Dim AktywneWiersze As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) Set AktywneWiersze = Union(Range("D13:BI35"), Range("D38:BI108"), Range("D111:BI133")) If Not Intersect(Target, AktywneWiersze) Is Nothing Then ActiveWorkbook.Names("AktywnyWiersz1").R...
Rozdzielenie formatu dd-mm-rrrr na: I dd I mm I rrrr I najprościej wykonać tak: Zaznaczyć zakres komórek > Dane > Tekst jako kolumny > Rozdzielany > Ograniczniki : wybrać "inny" (w okienku wpisać "-") > Dalej > Dalej > Zakończ (zakończyć działanie kreatora konwersji) i w wyniku mamy każdy blok daty w osobnej kolumnie. Dotyczy to zarówno 1 komórki, paru...
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....
Dobra zaczniemy od początku ze program nie był uzupełniony, dlatego nic nie liczył, już trochę uzupełniłem. Potrzebuje, aby program wyliczał w arkuszu1 wszystkie sumy począwszy od J8 do J18 "zestawienie”, czyli urlopu kursy chorobowe itd., jeśli chodzi o arkusz 2 to chciałem zrobić, aby każda osoba była do wyboru i jej dane można było przez zmianę...
Proponuję takie makro: [syntax=vbscript]Sub Moduł_Kliknięcie() Dim kom As Range, form As String For Each kom In Selection If kom.HasFormula Then form = Application.Replace(kom.Formula, 2, 0, "ABS(") On Error Resume Next kom.Formula = Replace(form, "*", ")*", 1, 1) On Error GoTo 0 End If Next kom End Sub[/syntax]Przed użyciem makra należy zaznaczyć zakres...
A koniecznie musi być marko? Formuły z powodzeniem radzą sobie z takim zdaniem. Sprawdź załącznik.
Chcę rozgrupować wartości znajdujące się w komórce, które są oddzielone znakiem ";" ale rozgrupować do komórek C2, C3, C4, C5 itd. Wartości rozdzielone są średnikiem i znajdują się w zakresie komórek od B2 do B100 000. W każdej komórce występuje jedna lub kilka wartości oddzielonych średnikiem;
[syntax=vbscript]Function Polacz(z As Range) As String For Each k In z If k <> "" Then p = p & k & "," Next If p <> "" Then Polacz = Mid(p, 1, Len(p) - 1) End Function[/syntax]
Sorki - ale idiota jestem i nie wiem jak Kto Ci takich głupot naopowiadał? Rusz głową, a przejdzie jak ręką odjął ;) SUMA.JEŻELI(zakres; kryteria;
a jak zrobić losową liczbę ? Nie wiem co chcesz zrobić :?: i do jakich celów chcesz to stosować :cry: Dla pseudolosowego :!: wypełniania jakiegoś zakresu komórek liczbami od 1 do 49 (Totolotek :D ) możesz wykorzystać kod: [syntax=vbscript]Sub FillCells oSelect=ThisComponent.CurrentSelection oColumn=oselect.Columns oRow=oSelect.Rows For nc= 0 To oColumn.getCount-1...
z kilku innych arkuszy Z arkuszy, czy ze skoroszytów? Jeśli z arkuszy (w tym samym skoroszycie) to wstawiasz nazwę arkusza, wykrzyknik i odnosisz się do jego zakresu/komórki. Np. w ten sposób odwołasz się np. do A1: [syntax=vb]=Arkusz1!A1[/syntax] Jeśli ze skoroszytów, to tutaj wyjaśnienie: http://office.microsoft.com/pl-pl/excel-...
Jeśli już musisz to wykorzystaj funkcję MIESIĄC. W przypadku formatowania warunkowego nie jest to potrzebne. Jako regułę wpisz =MIESIĄC($A1)=7 i powinno być OK. Znak "$" jeśli formułę stosujesz dla zaznaczonego większego zakresu niż komórka.
Witajcie Potrzebuje ustawić zakres komórek, przy kliknięciu których uruchamia sie makro potrzebuje ustawić 2 zakresy a mianowicie "J3:J"&lrow oraz "L3:M"&lrow czyli w kolumnie j oraz l do m ale do ostatniego wiesza w kolumnie a i tu prosba. jak zapisac te zakresy Kiluk
Sposobów może być kilka, ale jak już tak zacząłeś, to można to kontynuować. Można zacząć od oczyszczenia zakresu komórek przeznaczonych na wynik (żeby przy powtórnym wywołaniu procedury było widać, że coś się dzieje). [syntax=vbscript]ActiveCell.Resize(11, 11).ClearContents[/syntax]Wielkość czyszczonego obszaru można dopasować do sytuacji. Jeśli zacząłeś...
zakres komórka excel excel zakres komórka makro kopiować zakres komórka
rezystor xsara filtr cząstek stałych uruchamianie pompy
Podłączenie PS1 do monitora Samsung P2370HD Audiobooki na Pentagram Vanquish ICER 8GB P 5118: Obsługiwane formaty i wskazówki