Z ActiveX nie trzeba aktywowac arkuszy i zaznaczyc checkBox,[może mieć taką samą nazwę (na różnych arkuszach)]
Powinieneś załączyć przykładowy plik Excela, bo za dużo jest niejasności w tym, co napisałeś. Przykładowy kod, który działa wg Twojego opisu: [syntax=vbscript]Sub AddSheets() ' zakładamy, że nazwy nowych arkuszy ' są w komórkach od B5 w dół Dim ostw As Long, w As Long ostw = Arkusz1.Cells(5, 2).End(xlDown).Row For w = 5 To ostw Sheets.Add(After:=Sheets(Sheets.Count))....
jak zapisać dla zmiennych nazw arkuszy Jeśli zadeklarujesz jako stringi i będziesz tworzył funkcjami tekstowymi nowe nazwy arkuszy to możesz to zrealizować np [syntax=vbscript]Sheets("dest").Copy After:=Sheets(4) Sheets("dest (2)").Select Sheets("dest (2)").Name = nazwa dWb.Save[/syntax]
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 <>...
Innymi słowy nazwy plików jak i nazwy arkuszy w "" a poprawnie jest wokbooks a nie workbook
Można to zrobić również formułami. Kluczową sprawą jest odczytanie numeru wagonu z nazwy arkusza, bo - o ile mogłem się zorientować - nigdzie w arkuszu nie jest ona wpisana. Jest to wyliczone w komórce D2. Oczywiście postać formuły jest dostosowana do nazw używanych w skoroszycie. Potem, gdy mamy już numer wagonu, dalej wystarczy WYSZUKAJ.PIONOWO (komórka...
Użyłem tego makra we wszystkich od 01.YY do 13.YY i tylko pierwszy skopiował dane. W załączniku przesyłam cały plik, może będzie łatwiej rozwiązać zagadkę Już z tego miejsca pragnę bardzo podziękować za pomoc, ale chciałbym sprawę doprowadzić do końca. tak czy siak nie we wszystkich skoroszytach ci to zadziała musisz trzymać się jednej nazwy arkuszy...
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...
Czyli algorytm mniej więcej taki: 1. Wyszukujesz ostatni arkusz i zapamiętujesz jego nazwę w zmiennej tekstowej, np Src. Metoda wyszukania dowolna, arkuszy jest zwykle nie tak dużo, można przejrzeć w pętli wszystkie. 2. Tworzysz w zmiennej np Dst nazwę nowego arkusza i tworzysz arkusz z taką nazwą: Sheets.Add.Name = Dst 3. Kopiujesz dane z jednego arkusza...
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 chodzi o odwołania do arkuszy, to można odwoływać się do numeru kolejnego arkusza np. Worksheets(liczba), gdzie liczba jest stałą lub zmienną typu całkowitego albo do jego nazwy np. Worksheets(nazwa), gdzie nazwa jest stałą tekstową w cudzysłowie lub zmienną typu tekstowego. Jeśli arkusze mają nazwy o postaci liczb, a w kodzie jest zmienna numeryczna...
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ą) :)
Spróbuj w ten sposób. W C2 wklej =SUMA.JEŻELI(ADR.POŚR("' "&C$1&"'!B$3:B$181"... "&C$1&"'!AH$3:AH$181"... i możesz kopiować we wszystkie strony. Jest jeden kłopot. Nazwy arkuszy rozpoczynają się od spacji, w nagłówkach jest różnie. W formule przyjąłem, że spacja jest...
To zależy jeszcze gdzie chcesz mieć te dane: - w każdym wierszu - będą się powtarzać - tylko w wierszu nagłówka. Podział nazwy jest już łatwy, proponuję coś takiego: [syntax=vbnet] Sub Test() Dim S As String, T() As String S = "34_190_2023-05-19" T = Split(S, "_") Debug.Print T(2) ' data Debug.Print T(1) ' numer End Sub [/syntax]
Tak po prostu się nie da. Chyba, że znasz na pamięć nazwy wszystkich arkuszy ;) Gdzieś tę listę trzeba wyświetlić i przekazać do zmiennej nazwę wybranego arkusza... W załączniku przykład z wykorzystaniem do tego celu formularz(yk)a. Zwróć uwagę na dwie zmienne publiczne (muszą być zadeklarowane w module).
Możesz użyć MSQuery i następującej kwerendy: SELECT T1.data, T1.cena AS cena_A, T2.cena AS cena_B FROM [Arkusz1$] T1, [Arkusz2$] T2 WHERE T1.data = T2.data gdzie: Arkusz1, Arkusz2 - nazwy arkuszy z tabelami do porównania
Być może było to: Sheets("rejestr").range("N1") = Target.Row ale nazwy arkuszy może mieć symbole narodowe (ś, Ł, ó itp), że w redaktorze WBA nie mógł napisać. W menedżera nazew zadałem nazwę dla komorki N1 'wiersz', które następnie mogą być używane w formule
Nie jest dla mnie to jasne. O ile kryteria stworzenia arkusza są jasne (bo jest on tworzony na podstawie formularza - i podejrzewam że arkuszy może być kilka) - to na jakiej podstawie ma być wybierany arkusz? Też na podstawie nazwy z formularza? W każdym razie FormulaR1C1 albo Value możesz zastosować do komórki w dowolnym arkuszu, nie tylko bieżącym:...
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....
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...
Pozwolę sobie odpowiedzieć: zmień deklaracje typu zmiennych i będzie ok. Dim Nazwa_1 As Integer Dim Nazwa_2 As Integer Na Dim Nazwa_1 As String Dim Nazwa_2 As String Integer to liczby całkowite a String to ciąg tekstowy do którego też można zaliczyć "wizualnie" liczby (czyli liczby i cyfry jako tekst). I jeszcze jedno jak zmienić aby nazwy arkuszy zmieniały...
Można to zrobić np. za pomocą VBA. Napisałem funkcję UDF, która tworzy listę (tablicę) nazw miejscowości odczytanych z zakresów wg podanego schematu. Wywołanie funkcji: [syntax=text]=List3D(schemat adresu)[/syntax] schemat adresu zawiera nazwę arkusza ze znakami zastępczymi w postaci akceptowanej przez operator Like w VBA, to znaczy w tym przypadku:...
Odwołanie zewnętrzne robisz np tak. [syntax=vb]=SUMA('C:\Raporty\[Budżet.xls... Równie dobrze możesz zrobić wyszukiwanie. Musisz. 1. Znać nazwy arkuszy na etapie projektowania arkusza zbiorczego 2. Zadbać o ich istnienie, format itd. Ten sposób dotyczy arkuszy, które są ZAMKNIĘTE!. p.s. Ponowię prośbę do autorów postów dotyczących...
Makra włączone? Może problem z nazwa/indeks. Spróbuj Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo byk If Target.Column = 1 Then Sheets(Trim(Str(Target.Row... = Target.Value End If Exit Sub byk: If Target.Value <> "" Then MsgBox "Brak arkusza o...
Moim zdaniem wychodzisz z błędnego założenia. Sugeruję kolejność: 1. Kliknięcie przycisku w arkuszu otwiera formularz (i nic więcej). 2. Wypełnienie formularza przez użytkownika. Koniecznie zablokuj kontynuowanie bez wypełnienia kluczowych pól. Po wypełnieniu formularza można pobrać wartości potrzebne do przede wszystkim nadania nazwy wstawianego, nowego...
Post pod postem, ale jakoś chcę zwrócić uwagę autora :) Tak z niedzielnych nudów zacząłem kombinować z tymi pętlami. A jak już jest (prawie) gotowe, to wrzucam. Może się przyda... Warunkiem jest umieszczenie pracowników w odpowiednich wierszach zgodnych z Nr ewidencyjnym i Lp. tzn jeśli Pani Monika ma NrEw. 2 i jest w 4 wierszu (Lp 3), to tak musi być...
Pętlę możesz utworzyć na różny sposób, np. Sub Kopia_co_5() Application.ScreenUpdating = False Dim x As Long For x = 1 To 1000 ' na początek wstaw np. 50 zamiast 1000 Sheets("Arkusz1").Select Rows(5 * x).Select Selection.Copy Sheets("Arkusz2").Select Rows(x).Select ActiveSheet.Paste Sheets("Arkusz1").Select Next x Range("A" & x).Select Application.CutCopyMode...
No, w takiej formie to można już coś tam pokombinować... Zobacz pliki z załączników. Po kliknięciu przycisku "Import order" możesz wybrać plik z zamówieniem - ważne, żeby miał taki układ danych, jak w testowym zamówieniu. Plus wszystkie rzeczy, o których wcześniej mówiłem - wyjątkiem jest lista klientów w pliku produkcyjnym - jednak nie musi być taka...
Nie dajesz przykładowych plików więc trudno to ustawić do Twoich potrzeb :cry: Proponuje spróbuj coś w tym stylu (po dostosowaniu do swoich potrzeb ścieżki, nazwy plików, arkuszy i zakresów :!: ): [syntax=vbscript]Sub Import() Dim xlapp As Object Set xlapp = CreateObject("excel.application") Dim wb As Object Set wb = xlapp.Workbooks.Open("C:\Test\Nazwa.xls"...
Witam. Czy ktoś może mi powiedzieć, jak stworzyć procedurę MsgBox która informuje o nazwach wszystkich kolejnych arkuszy w aktywnym skoroszycie?
Ten plik działa prawie poprawnie. Jedyne, co mi się rzuciło w oko to brak nazwy magazynu na arkuszu. Powód: Range("J1").Select ActiveCell.FormulaR1C1 = x Range("H1:M1").Sel... "x". Wyszukiwanie arkuszy OK.
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
Skoro próbuje Kolega coś sam pokombinować, to trochę pomogę... ;) Nie wiem na ile dobrze zrozumiałem całą ideę, więc będziesz musiał trochę dostosować kod do swoich potrzeb. Zacznijmy od tego, żeby umieścić kod makra wewnątrz takiego fragmentu kodu (fragment dla makra umieszczonego w zdarzeniu kliknięcia przycisku): [syntax=vb]Private Sub CommandButton1_Click()...
Tylko czemu wynik jest dopiero od 435 wiersza? Najprawdopodobniej masz jakieś puste wiersze, które makro widzi jako puste wartości. Spróbuj dopisać klauzulę WHERE. przypuśćmy,że mam jeszcze jedną tabelę tylko z dwoma kolumnami: material no( z nr komponentów-nie powtarzają się) i stock( ze stanami zapasów). W jaki sposób mogę połączyć teraz te dwie...
Jeśli plik, który jest otwierany, zawsze w tym samym folderze, np. C:\..\..\DaneCodzienne należy: w pliku makr osobistych w kodzie skoroszytu [syntax=vb] Private WithEvents App As Application Private Sub Workbook_Open() Set App = Application End Sub Private Sub App_WorkbookOpen(ByVal Wb As Workbook) If Wb.Path Like "*\DaneCodzienne" Then Wb.Sheets(1).Name...
Jeśli dobrze zrozumiałem opis, to coś takiego powinno spełnić te założenia: [syntax=vbscript]Private Sub CommandButton1_Click() On Error GoTo myErr Application.ScreenUpdating = False If FilterMode Then ShowAllData Set srcSheet = ActiveSheet ost_w = Range("A" & Rows.Count).End(xlUp).Row ost_col = Cells(1, Columns.Count).End(xlToLeft).Column 'generowanie...
Ilość arkuszy znajdziesz za pomocą: Edit: Precyzując, zapisujesz ilość arkuszy obliczoną przez powyższe do zmiennej i umieszczasz ją w nawiasach (tam gdzie masz swoje znaki zapytania). Nowy arkusz dodany będzie jako ostatni. Do zmiany nazwy w tym przypadku możesz zastosować: [syntax=vb]Sheets(ile + 1).Name = strName[/syntax] Warunkiem prawidłowego działania...
Jedynie odwołując się do indeksów arkuszy zamiast do nazw. Np po kolejności komórek w kolumnie. [syntax=vb]Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) arg = Split(Target.SubAddress, "!") sh = Target.Parent.Row - 1 'link w 4 wierszu dot Sheets(3) adr = arg(1) With Sheets(sh) .Visible = True .Activate .Range(adr).Select End With End...
Jeżeli masz wersję Eagle Pro, to zwiększanie ilości arkuszy ze schematami nie jest trudne. Wystarczy w oknie Sheet na pasku narzędzi dodać nowy arkusz za pomocą new . Gdy korzystasz z wersji Eagle Light, takich udogodnień nie ma. Można to zrobić na jednym arkuszu, bo powierzchnia schematu może być stosunkowo duża. Z biblioteki frame.lbr wybierz obramowania...
Witam wszystkich. Potrzebuję napisać macro, w którym: 1. Z Arkusza początkowego kopiuje wartości (nazwy dostawców) do osobnego Arkusza. 2. Przycina te wartości do wskazanej ilości znaków (tak, żeby mogły stanowić nazwę Arkusza). 3. Otrzymany wynik zwraca do pierwszego Arkusza w miejsce oryginalnych wartości. 4. Wracamy do nowego arkusza, w którym nazwy...
Zauważ, że arkusz niue nazywa się "mm.dd.yyyy" tylko ma konkretną datę jako nazwę więc lepiej w ten sposób: select.end ale tak też można. I druga rzecz. Ta funkcja też ma pewien błąd. Trzeba podać datę początku i datę końca. Nie wiem co chciałeś osiągnąć chyba że jakimś kodem którego akurat ja nie stosuje/nie znam. [syntax=vb] Range("H2").FormulaR1C1...
Dzięki koledze adamas_nt i jego sugestii co do "automatycznego" pobrania numeru kolumny (i wiersza w domyśle) poprawiłem nieznacznie moje makro. Wystarczy teraz wkleić w arkusz "dane" gdziekolwiek twoją tabelę z danymi (jak by ona nie wyglądała). Nacisnąć wstaw kody i kody wewnętrzne zostaną wstawione bez względu na to gdzie znajduje się tabela z danymi...
Takie proste makro powinno załatwić sprawę: [syntax=vb]Application.ScreenUpdating = False Set wssuma = Worksheets("Suma") ost_wiersz_sumy = wssuma.Cells(wssuma.Rows.Count, 1).End(xlUp).Row For i = 2 To ost_wiersz_sumy With Worksheets(wssuma.Cells(i, 1).Value) ost_wiersz_arkusza = .Cells(.Rows.Count, 2).End(xlUp).Row .Range("B" & ost_wiersz_arkusza +...
Jak byś wytłumaczył wszystko spokojnie na początku to by teraz nie było tej dyskusji. Po prostu co chwila zmieniasz założenia. Albo my nie nadążamy za twoją myślą. Kolega adamas wskazał ci błąd z "search" Owszem nazwałeś zmienne search i search2 ale nigdzie nie wykorzystujesz search2 a zmienna search jest zaraz po określeniu jej w pierwszym okienku...
Masz dwa błędy w formule: =WYSZUKAJ.PIONOWO(B12;'Adresy obiektów'!A2:K 2 ;2; PRAWDA ) Tabela którą przeszukujesz (A2:K2) jest jednowierszowa więc nie dziwne że działa tylko "Sandomierz" Druga rzecz to parametr PRAWDA. W tym przypadku dane w adresach zawsze powinny być posortowane rosnąco i co najważniejsze funkcja jeżeli nie znajdzie dokładnego odpowiednika...
Akurat dobrej aparatury za 150 zł, nie kupisz. Jakiegoś prostego chińczyka, starą używkę, której się ktoś chce pozbyć - można dostać. Niestety zasada jest taka - Kupujesz NAJDROŻSZĄ aparaturę na jaką cię stać, nawet kosztem wszystkich pozostałych aparatów. Jakieś tanie serwa, słabszy silnik, mniejszej pojemności pakiet - itd. da się przeżyć. Słabsza...
Najprawdopodobniej zaznaczasz >1 komórkę. Dopisz warunek: [syntax=vb]Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Sh.Index > 10 Then If Target.Cells.Count = 1 Then If Target.Address(0, 0) = "A1" And Target.Value <> "" Then Sh.Name = Target.Value End If End If End If End Sub[/syntax]
Wydaje się, że masz problem z odkryciem arkuszy oznaczonych jako “very hidden” w Excelu przy użyciu funkcji komórek (cells). Oto kilka wskazówek, które mogą Ci pomóc: Użyj stałej xlVeryHidden: W makrach VBA możesz użyć właściwości Visible, aby ukryć lub odkryć arkusz. Wartość xlVeryHidden ukrywa arkusz i uniemożliwia jego wyświetlanie w oknie Excela....
[syntax=vbscript]Sub elka() For Each s In Sheets Sheets(s.Name).Range("w2:w" & Sheets(s.Name).Cells(Rows.Count, 1).End(xlUp).Row) = s.Name Next End Sub[/syntax] ........................................ ps. można usunąć nie widziałem, że już odp :)
Witam ,chociaż już po Świetach to życzę zdrówka wszystkim. A co do problemu z jakim się zwracam to potrzebuję do pliku załączonego aby dołożył ktoś makro lub formułe, w zależności czym będzie lepiej uzyskać efekt ,który przydałby mi się na co dzień. Mianowicie w skoroszycie mam kilka arkuszy z nazwą powtarzającą się w kolumnach "B". Po otwarciu skoroszytu...
zmiana nazwy arkuszy makro kopiujące nazwy arkuszy nazwy nazwy kamerki
poduszki naczepa płynna zmiana obrotów silnika instalacja angielska
zmywarka ciągle wypompowuje zmywarka ciągle wypompowuje
Błąd wtrysku w koparce Volvo EC180 po rozgrzaniu Raspberry Pi wolno działa na SSD, szybciej na SD