Można do tego wykorzystać makro zdarzeniowe, na przykład takie: [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) Dim cel As Range Application.EnableEvents = False For Each cel In Target If Len(cel) > 0 Then If Left(cel, 1) <> "'" Then cel.Value = "'" & cel.Value End If Next cel Application.EnableEvents = True End Sub...
Rozumiem że w jednym pliku excela jest zapisane makro i otwierasz w excelu następny plik wykonujesz makro i chcesz zapisać zmiany w drugim pliku, otworzyć następny, wykonać makro i zapisać zmiany. Jeśli tak to ostatnia linijka powinna mieć postać ActiveWorkbook.SaveCopyAs Filename:=katalogZapisu & "\" & Format(Date, "DD-MM-YYYY") & "_" & ActiveWorkbook.Name...
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...
Macie może pomysł jak to zapisać żeby kod działał i żeby nie trzeba było robić tak ,,naokoło"? [syntax=vbscript]Sub zamykanie_miesiąca() For s = 2 To 73 If Sheets("Panel_Sterowania").Cells(4, s) = "TAK" Then Sheets("FTC.023").Columns(4 + s).EntireColumn.Hidden = True End If Next s End Sub[/syntax]
Sub ZapiszPlik() Dim Skor As Workbook Const FOLDER As String = "D:\moje dokumenty\" -tu wpisujesz lokalizację pliku, gdzie docelowo ma się zapisać plik Set Skor = ThisWorkbook Skor.SaveAs FOLDER & "pliczek" & Format(Now(), "_yyyymmdd") - "pliczek" to nazwa jaką będzie posiadał plik ThisWorkbook.Close False End Sub To makro wstawiasz w pliku, który ma...
[quote="Andrzej59"]Zrobione w PQ[/quote Po dopisaniu do listy jednej lub dowolnej liczby pozycji trzeba arkusz zapisać i odświeżyć a tabele same się uaktualnią
Witaj. Co rozumiesz przez "zapamiętać"? Zapisać w jakiejś komórce? Można to zrobić przez makro - niezbyt zoptymalizowane, ale działa.
Nie ma uniwersalnego rozwiązania w takim przypadku. Można oczywiście zapisać plik z makrem jako dodatek i aktywować go w oknie "dodatki", ALE: jeśli ktoś zmieni nazwy, kolejność indeksów arkuszy (jeśli nie nazwy) to kicha. Spróbuj może w ten sposób: 1. Dostajesz plik z logami (gdzieś trzeba by go zapisać). Tutaj arkusz z danymi musi być rozpoznawalny....
Masz wprowadzony plik (PDFMaker.dot) który ma się zawsze uruchamiać przy starcie worda. Jeżeli tak ma nie być wykasuj go z katalogu c:\Program Files\Microsoft Office\Office11\startup (lub przenieś do innego) A dzieje się tak bo ten plik (szablon dokumentu) który chce się otworzyć ma w sobie makro. I zawsze będzie ci się otwierał z tym komunikatem w...
Niestety nie mogę zobaczyć pliku, nie mogę go nawet pobrać z internetu - admin zablokował. No to teoretycznie: Tak sobie myślę skąd makro ma wiedzieć z którego pliku pobrać dane? Sprawdź czy jest to jawnie określone w RowSource. Nazwany Range też może nie mieć właściwego (pełnego) adresu i próbuje brać z ThisWorkbook. Wyświetl sobie co tam dokładnie...
Sporo niewiadomych. Nie wiadomo gdzie jest 'Activecell', a w związku z tym 'C[-1]' oraz wszystkie "offsetowane". Jedyna wskazówka, że wynik *5% zapisujesz w B3. Trzeba policzyć :) W przykładzie losowanie 5% unikatowych liczb z kolumny "C". Oczywiście wartość 'ile' możesz zapisać w B3 ;) itd
Edit Jest jeden myk: [syntax=vbscript] ActiveWorkbook.Windows(1).Caption = "dowolna nazwa" [/syntax] Jak chcesz go potem zapisać to w oknie dialogowym pojawia się nadal Zeszyt1 zamiast "dowolna nazwa".
Bardziej chodziło mi, że makro jest przygotowane na sortowanie nawet stu wartości w wierszu, Ty masz to do lotto, specyficznie do 6 liczb, więc Const MaxX możesz zmienić na 6 spokojnie, wtedy będzie brało pod uwagę tylko kolumny od A do F. Jeśli będziesz chciał sortować losowania z innych gier, gdzie załóżmy jest losowane 20 liczb, to wtedy można to...
Może i Makrem byłoby łatwiej ale.....poległem. No to masz z instrukcją "if" :) (dodane do twojego kodu) [syntax=vbscript]Private Sub CommandButton4_Click() On Error Resume Next 'po błędzie kontynuuje dalej Application.ScreenUpdating = False DatExample = Date Dim s As String s = "C:\Users\jasuc\OneDrive\Tamex Żwirkop\Kopia Dane Tamex\PDF\" y = 2 With...
Przetestuj załączone rozwiązanie. Przed uruchomieniem należy: - Plik csv nazwać: "dane.csv" - Załączony skoroszyt zapisać w folderze, w którym znajduje się plik "dane.csv" U mnie cała procedura wykonuje się ok. 1 min. pozdrawiam andie
Sheets("DRUKI SORTOWANIE").Select Range("A1").Select Selection.Copy Sheets("KP").Select Range("V28:W28").Select ActiveSheet.Paste Taki fragment można zapisać krócej tak: Gdzieś na początku makra: [syntax=vb]Set wsSort = Sheets("DRUKI SORTOWANIE") Set wsKp = Sheets("KP")[/syntax] a dalej: 1. jeżeli chcesz skopiować tyko wartości, bez formatów: [syntax=vb]wsKp.Range("V28:W28").Value.....
Możesz zastosować takie makro: [syntax=vbscript]Sub Kopiowanie2() ' ' Kopiowanie2 Makro ' Dim lw As Long, i As Long, j As Long Sheets("Arkusz1").Activate '1 lw = Cells(Rows.Count, "A").End(xlUp).Row '2 j = 1 '3 For i = 2 To lw '4 Range("A" & i & ",B" & i & ",D" & i & ",F" & i).Copy _ Destination:=Sheets("Arkusz2").Range("A" & j).Resize(Range("G" & i))...
w trzeciej sama trasa wypisana w formacie: sklep_xxx-sklep_yyy-sklep_zzz Jeśli dobrze zrozumiałem, to myślnik jest znakiem rozdzielającym nazwy sklepów, których trzeba wyszukać? Jeśli tak, to najprościej rozbić ciąg funkcją Split i zapisać w tablicy. Następnie wyszukać kolejne wartości w pętli For, gdzie licznikiem będzie rozmiar tablicy. Wynik można...
Jeśli to ma działać w kilku czy we wszystkich arkuszach, trzeba ustawić formatowanie warunkowe w każdym z tych arkuszy. Zdarzenie SelectionChange można oprogramować na poziomie skoroszytu. Można to wszystko zapisać w VBA, ale trzeba określić zakresy formatowania i arkusze. W załączonym pliku kod, który we wszystkich arkuszach roboczych formatuje zakres...
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]
Makro najlepiej jest zarejestrować. W tej chwili na kompie nie mam excela więc nie mogę Ci go podesłać. najlepiej w załączniku zamieść to co masz zrobione to popatrzę na to. Ps Zamiast przesyłania punktów lepiej kliknij "pomógł" :D
VB z Office'a służy tylko i wyłącznie do pisania makr, nie da się w nim kompilować programów. Jak dobrze poszukasz to znajdziesz VB4.0 w wersji edukacyjnej (ale też bez możliwości kompilowania do .exe). Jeśli jesteś studentem, to być może twoja uczelnia ma podpisaną umowę z MS i uczestniczy w programie MDSN-AA i wtedy możesz sobie ściągnąć VB za darmo...
Tą metodą się nie da, bo zamażesz dane wejściowe i funkcja nie będzie miała skąd pobrać danych. Możesz ewentualnie dodać nowy arkusz i tam zapisać w komórkach tą funkcję z odwołaniem do konkretnego arkusza. Później metodą kopiuj i wklej możesz wynik nadpisać do komórek źródłowych. Pamiętaj tylko, że po tej operacji w arkuszu dodanym, w którym będą odbywały...
Hmmm... Kilka uwag na początek: Po pierwsze primo: jeżeli chcesz uniezależnić program od nazw arkuszy, wystarczy zamiast: kolejnym wierszu.
Dobiłaś mnie tą informacją - serio. Nie wiem jakim cudem, ale w wypadku gdy case jest dłuższy event odpada się 2 razy (nie mam pojęcia jakim cudem, tym bardziej po przeniesieniu zaznaczania kolejnej komórki na początek). Rozwiązaniem (trochę na około, ale działającym), jest opcja wyłączenia eventów [syntax=vbscript]Private Sub Worksheet_SelectionChange(ByVal...
Załączam plik który wykorzystuje kwerendę (połączenie z bazą poprzez import) z przyciskiem aktualizującym (makro aktualizujące kwerendę). Podobnie jak to zrobił kolegę adamas_nt z tym że w moim przypadku makro tylko wymusza odświeżenie kwerendy. Przy tym rozwiązaniu dane zawsze będą pobierane i aktualizowane na podstawie bazy więc jeżeli zmienią się...
bit_is_set to nie funkcja tylko makro zdefinowane jak podałeś: #define bit_is_set(sfr, bit) (_SFR_BYTE(sfr) & _BV(bit)) Jeśli używasz go np. tak: if( bit_is_set(PINA, 3) ) Czyli tak naprawdę interesuje Cię czy ustawiony jest bit 3 rejestru PINA. Równie dobrze możesz to zapisać tak: if( PINA & (1<<3) ) Czyli...
Kręcisz się w kółko. Zrozum, że w komórce nie zapiszesz danych jako VBComponent, Object, etc. W związku z tym nie uda Ci się ich pobrać i przekazać do funkcji w taki sposób. Możesz zapisać w tablicy nazwy obiektów, ale w odwołaniu musiałbyś używać jej indeksu w tablicy (liczby), nie nazwy. Metodę pobrania nazwy arkusza (Properties.Item) znając nazwę...
Odblokowano na prośbę autora... Nagraj SaveAs > arkusz wynikowy > pdf i dopisz na końcu makra.
czas wykonania procedury skrócił się z 10 minut do 1,01 minuty Aż za bardzo ;) Można też wcześniej obliczyć sumę z pierwszych pętli (wynik częściowy)... to nie za bardzo rozumiem jakby to miało wyglądać w kodzie by było efektywne Myślałem o tej linii: If x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 = 34 Then Ty poszedłeś po całości ;) Jeśli zapamiętalibyśmy...
Oczywiście. Co prawda w batchu też by się dało ale wygodniej zrobić to PowerShellem. Wtedy można to zupełnie zautomatyzować. Np.: foreach ($i in get-childitem *.csv) { if ($i.name -eq "1.csv") {(get-content $i)[0..((get-content $i).count-1)]|add-content wynik.csv} else {(get-content...
Pomysł ciekawy. Pozwoliłem się pobawić tym makrem. :arrow: do autora Makro działą tylko że nie znajduje sumy w kombinacji sum 5 liczb. (Można dodać okno z wyjaśnieniem) Twoja suma pojawi się (12 kombinacji) jak dodasz jeszcze pętle dla sumy sześciu (6) liczb. czyli w miejsce 'tu kolejna pętla dla kombinacji 6 liczb itd' wklej For n = m + 1 To a kontrol...
Wstaw na początku makra [syntax=vb]Application.ScreenUpdating = False[/syntax]a na końcu, przed wiadomością: [syntax=vb]Application.ScreenUpdating = True[/syntax]Dzięki temu unikniesz przeskakiwania między arkuszami. Druga sprawa: cały taki przykładowy fragment: [syntax=vb]Sheets("instrukcja").Select Range("b11").Select Selection.Copy Sheets("czas pracy").Select...
Przy tablicach nie używa się select. A co chcesz potem robić z tą tablicą? Zawsze możesz odwoływać się do komórek arkusza jak do tablicy: For i = 1 To 5 for j = 1 to 5 MsgBox i & ", " & j & " = " & Worksheets("Arkusz1").... j) next j Next i Ewentualnie możesz zapisać dane do zmiennej typu RANGE, do...
Do autora: Jak zauważyłeś twoja funkcja działa - więc już połowa sukcesu. (na marginesie zmienna "dzień" to nie to samo co zmienna "dzien"więc akurat ten kod który przedstawiłeś nie powinien działać ale ...) Przechodzimy do koncepcji i twojej procedury głównej. Bardzo dobrze pomyślałeś (dobra w tym przypadku koncepcja) że "biorę po kolei dni tygodnia...
... Jak naciśniemy w arkuszu Kosztorys pole B7 czyli to białe puste szybko dwa razy to otwiera się Listbox z wyborem danej pracy ... Wszystko działa ok ... No niezupełnie ... ' ListBox1_Click ' usuwa z komórki ' AB7 ' wartość liczbową i po zamknięciu okna nie można go już ponownie otworzyć bez wstawienia tam liczby. ... Potrzebne są tylko trzy zmiany....
Witam, Ja znam i używam jednej z czterech metod wyszukiwania danych. 1. z wykorzystaniem funkcji FIND() 2. z wykorzystaniem pętli FOR 3. z wykorzystaniem pętli FOR EACH 4. (niezałączona) z wyszukiwaniem binarnym na posortowanych danych Trzy z nich załączam w pliku "testowym". Znajduje się w nim 10.000 losowych, nieposortowanych rekordów: firma, miasto,...
Przykładowy plik.
Witam Dziękuje Działa, ale chciałbym mieć możliwość całkowitego zablokowania możliwości zapisu pliku z włączonymi filtrami. Makro działa - wywala błąd, ale mimo wszystko pozwala użytkownikowi zapisać plik.
https://obrazki.elektroda.pl/7268233500_... Ten artykuł powstał w odpowiedzi na propozycję kolegi (at)Techekspert i jest rozwinięciem mojej prezentacji przedstawionej na konferencji The H(at)ck Summit w dniu 20 października 2023 r. Samą prezentację możesz pobrać stąd: Wyrzucamy algorytm Gutmanna do kosza Podstawowe informacje o niszczeniu...
To ode mnie jeszcze taka propozycja funkcji (założyłem, że pozycje "X" są numerowane od 1, a nie odczytywane z arkusza): [syntax=vbscript]Function ZbierzX2(rZakres As Range) As String Dim wynik, i As Long ReDim wynik(1 To rZakres.Count) For i = 1 To rZakres.Count wynik(i) = IIf(rZakres(i).Value = "X", i, "-") Next i ZbierzX2 = Join(Filter(wynik, "-",...
Jeśli to jest nowy Excel (365) No właśnie Autorka jest coś małomówna. ;) Nie mam 365 i nie wiedziałem, że takie udogodnienie w nim jest. Mam 2007 i 2021. Nawet w 2021 nie ma "Automatyczna konwersja danych"... Ale zawsze można napisać makro dla starszych wersji, żeby ułatwić pracę. W załączniku makro do wczytywania pliku CSV.
czy wówczas w arkuszu "Baza_klientów" może dopisać dodatkowo nr regału? Owszem można (albo w dodatkowej kolumnie - na końcu, albo w środku lecz wtedy trzeba modyfikować makro :-( ), ale moim zdaniem jest to niecelowe. W momencie składowania na regale pracownik będzie miał dostęp do kwitka, a nie do komputera gdzie można by też zapisać miejsce składowania....
Witam, czy pomoże ktoś przerobić to makro Visual Basic na Apps Script w Arkuszach Google, to jest automatyczny zapis daty. Np. po wpisaniu tekstu w komórce A1 automatycznie przypisze się na stałe data w komórce B1 i godz. w C1: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("A1:B1000"))...
i chce wywoływać makro z poziomu Accessa i teraz pytanie czy jest możliwość by w accesie zapisała sobie to makro na zasadzie wywołaj mi go w pliku 1234.csv Tak, czyli access musi otworzyć sobie 1234.csv (ma wstawić w t4 date i sumować r4 i q4, zapisać jako csv ?)
Cześć, jestem laikiem w VBA i zazwyczaj korzystam z posklejanego tekstu z zarejestrowanego makra plus to co dodam z elektrody lub innych zasobów internetowych. Makro jest pewnie mocno zamotane, ale jego zadaniem jest w otwartym pliku odświeżyć dane pobierane z PowerQuery, skopiować do nowego pliku, rozdzielić nazwy plików do kolumn, nazwać kolumny,...
Super bardzo wszystkim dziękuję, osiągnęłam to czego chciałam na ten moment. Gorzej, że teraz muszę to zapisać w makro :):)
Witam, Zielony z makro szukam pomocy :-) Uprościłem pytanie, poszukuję makra które uruchamiałoby się automatycznie po wprowadzeniu zmiany w arkuszu dane C3, makro powinno zapamiętać i zapisać poprzednią wartość C3 do arkusza zestawienie C5, przy kolejnym wpisie do C3 w danych, kolejny zapis w C6 w arkuszu zestawienie itd. Mógłby ktoś pomóc w stworzeniu...
Jest to makro czyli program napisany w języku Visual Basic. [syntax=vbscript] Function kwota_slownie(kwota As Double) As String Dim do_konwersji As String, kwota_groszy As String Dim zlote As String, cala_kwota As String cala_kwota = Application.WorksheetFunction.Text(kwota... "#####0.00") Select Case Len(cala_kwota) Case 4 If Left(cala_kwota, 1) = "0"...
(...) z nową nazwę pliku nowaNazwa = InputBox("Wpisz nową nazwę pliku:") 'Jeśli anulowano okno dialogowe, przerwij makro If nowaNazwa = "" Then Exit Sub 'Zapisz plik w nowej lokalizacji z nową nazwą ActiveDocument.SaveAs2 FileName:=nowaNazwa, FileFormat:=wdFormatDocument End Sub Wygląda na to, że podałeś niekompletną ścieżkę do lokalizacji, gdzie chcesz...
makro zapisać makro zapisać otworzyć excel makro zapisać
spawa aluminium wymiana podsufitka udarowe klucze nasadowe
beninca instrukcja touran schemat sterownika silnika
Błąd adaptacji przepustnicy w Fiat - przyczyny i rozwiązania Jak zresetować kino domowe AIWA AV-D58?