[syntax=vbscript]Sub Drukuj() If Dir(Range("B1")) <> "" Then Workbooks.Open (Range("B1")) For x = 1 To Sheets.Count If Sheets(x).Name Like "*jakiś*" Then MsgBox Sheets(x).PrintOut Exit For End If Next ActiveWorkbook.Close End If End Sub [/syntax]
Można do przycisku przypisać Np takie makro Option Explicit Sub cmdWstaw() Dim pozycja As Integer, numer As Integer Dim kom As Range pozycja = Sheets("Arkusz1").Rang... + 1 If pozycja = 77 Then MsgBox "Osiągnięto koniec zakresu w zestawieniu..." Exit Sub End If For Each...
[syntax=vbnet]Sub test() Lst = Array(1, 4, 9, 10, 11) For Each k In Lst MsgBox Str(k) Next End Sub[/syntax]
A jak to makro uruchamiasz, przyciskiem, skrótem? Wystarczy: [syntax=vbscript]Sub qq() Dim r As Range Set r = Range(ActiveCell, ActiveCell) Range("A1").Select MsgBox "Wybrałem A1." Range(r, r).Select MsgBox "Wybrałem poprzednią komórkę." End Sub [/syntax]
[syntax=vb]xx = sciezka & "\Dokumenty\LZH\" & NazwiskoImie If Dir(xx, vbDirectory) = "" Then MsgBox "Nie ma Folderza": Exit Sub If Dir(xx & "\*.*") = "" Then MsgBox "Folderz pusty": Exit Sub With Application.FileDialog(msoFileDialogOpen... .InitialFileName = xx .Show End With [/syntax]
Zrobiłem tak, jak to zwykle robią zawodowcy ;) 1. Nagrałem sobie makro przy zapisywaniu. Wyszło takie coś: [syntax=vbscript]Sub Makro1() ' ' Makro1 Makro ' ' ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\Users\Adam\Desktop\Zeszyt1.pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=...
trochę zmieniłem podejście Musisz założyć z góry co chcesz osiągnąć a nie co chwile wklejać jakieś makra. "Widzę", że chcesz pobrać tylko 5 wartości z kolumn(F,J,L,N,W) można to zrobisz tak j.w czy przez zwykłe kopiowanie. Chciałbym, żeby napisany kod mógł sprawdzić czy plik jest już otwarty i jeżeli tak, żeby pominął krok otwierania pliku - nie udało...
Teraz wszystko jasne. [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then Application.ScreenUpdating = False Plik = "C:\PlikiSpraw\" & Range("A" & Target.Row) & ".xlsx" If Dir(Plik) <> "" Then Rows(Target.Row).Copy Set s = Workbooks.Open(Plik) nw = s.Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row...
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]
Jest prosty sposób na uruchomienie makra jeśli aktywowana będzie określona komórka. Powiedzmy, że zmieniasz dane w A1. Jeżeli posługujesz się klawiaturą to następna aktywowana komórka będzie A2 lub B1. Przykład uruchomienia makra dla B1 Private Sub Worksheet_SelectionChange(ByVal Target As Range) wiersz = 1 kolumna = 2 If Target.Row = wiersz...
ze tak czy siak potrzebne są dwa klawisze Można z jednym np. "end" wrzuć to do modułu [syntax=vbscript]Sub test() MsgBox "ok" End Sub[/syntax] a to do thisworkbook [syntax=vbscript]Private Sub Workbook_Open() Application.OnKey "{end}", "test" End Sub[/syntax] Zapisz zamknij i uruchom skoroszyt naciśnij "end"
Można umieścić kod w ThisWorkbook przy zdarzeniu Open. Żeby zabezpieczyć plik przed otwarciem bez makr można ustawić na kluczowe arkusze atrybut VeryHidden (z poziomu edytora VB) a widoczny zostawić dodatkowy pusty arkusz. Przy starcie jeśli warunki są spełnione wystarczy zamienić atrybuty. Tu konieczne hasło ochrony VBA. Przy zamknięciu ustawić na...
Witam Może być makro [syntax=vbscript]Sub Zapisz() Application.ScreenUpdating = False plik = Left(ActiveWorkbook.FullName, InStr(ActiveWorkbook.FullName, ".")) & "txt" ActiveSheet.Copy ActiveWorkbook.SaveAs Filename:=plik, FileFormat:=xlCSVMSDOS ActiveWorkbook.Close False MsgBox "zapisano " & plik End Sub[/syntax]
Jeśli w zakresie są formuły, to zmienia postać rzeczy. Spróbuj wykorzystać inne zdarzenie. [syntax=vb]Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim kom As Range For Each kom In Range("C13:G13") If kom.Value < 0 Then MsgBox "Błąd w " & kom.Address(False, False) Next End Sub[/syntax]Warto może ograniczyć Target.Range, bo zmiana...
No to na zgodę: Wklej w kod arkusza "1" lub arkusza z pierwszym indeksem. Makro uruchamia się poprzez podwójne kliknięcie w komórkę z datą. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If IsDate(Target) Then cel = Target.Address For i = 2 To Sheets.Count Sheets(i).Range(cel)...
Jak można zrobić, żeby przed uruchomieniem tej procedury makro sprawdziło czy w tabeli ("A3:D&) nie ma już danych osoby wstawionej do komórek Przykładowo - sprawdzanie nazwiska (w praktyce trzeba by zastosować rozbudowany słownik bo mogą występować pracownicy o tym samym nazwisku :D ) można zrobić poprzez małą modyfikację Twojego kodu :spoko: [syntax=vbscript]...
[syntax=vbscript]Sub ImportujPlikizWieluLokalizacji() Dim ZakresWejsciowy As String Application.ScreenUpdating = False Set p = Sheets("Parametry") Set i = Sheets("Import") For x = 2 To p.Cells(Rows.Count, "A").End(xlUp).Row If p.Cells(x, 5) = "x" Then Katalog = p.Cells(x, "A") If Right(Katalog, 1) <> "\" Then Katalog = Katalog & "\" On Error...
Możesz zobaczyć to z inputboxem: [syntax=vb]Sub Przycisk2_Kliknięcie() Dim plik As Variant Dim openFile As Workbook Dim Nazwa_Pliku As String Nazwa_Pliku = ActiveWorkbook.Name MsgBox Nazwa_Pliku plik = Application.GetOpenFilename( _ FileFilter:=",*.xl*", _ Title:=" Wczytaj plik z danymi") If plik = False Then Exit Sub Set openFile = Workbooks.Open(Filename:=plik)...
Potrzebuje zrobić to co teraz wrzucilem OK, jeśli sam będziesz to obsługiwał to Twoja wola i Twój wybór. Odnośnie przedstawionego na rysunku wyliczenia to musisz zmienić kod dla przycisku "Oblicz" np na taki: [syntax=vbscript]Private Sub CommandButton5_Click() Dim a As Integer Dim b As Integer Dim b As Integer If TextBox15.Value > 0 Then If TextBox15.Value...
Ale mnie chodzi o Makro wstawiające do bieżącego Skoroszytu (Zeszytu) Makro we we właściwości: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) No i w czym problem? Ja podobnie jak adamas_nt nie rozumiem problemu... plik1.xls ok plik2.xls ok plik3.xls 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
Trzeba sobie radzić inaczej, Np przy pomocy funkcji Dir. Pierwszy, lepszy znaleziony przykład funkcji z wywołaniem.[syntax=vb]Sub testit() myvar = FileList("C:\users\adam\") If TypeName(myvar) <> "Boolean" Then For i = LBound(myvar) To UBound(myvar) Debug.Print myvar(i) Next Else MsgBox "No files found" End If End Sub Function FileList(fldr As...
lesławek - tak się nie da. Sam spróbuj - ale skopiuj liczbę a nie komórkę. W załączeniu proste makro. Uruchomisz skrótem klawiszowym ctrl+m (można to zmienić) Makro odejmuje od komórki z lewej coś co jest w schowku i wprowadza to formułą w zaznaczonej komórce. [syntax=vb]Sub odejmij_schowek() Dim mem As DataObject On Error Resume Next Set mem = New...
Przyczyną błędu jest tylko to, co napisał adams_nt : powinna być deklaracja typu jak poniżej: Ewentualnie program mógł by sprawdzić czy akrusz B jest otwarty, jeżeli jest nie otwierać go ponownie a jeżeli jest zamknięty otworzyć go. Założyłeś, że Twoje makro będzie kopiować z pliku B.xls aktualnie zaznaczony wiersz - ono nie otwiera pliku [ponownie]....
Upewnij się, że poustawiałeś odpowiednio niski poziom zabezpieczeń i spróbuj czegoś takiego: [syntax=vb]'Dodać referancję: Tools->References->Microsoft Visual Basic for Applications Extensibility 5.3 Private Sub CommandButton1_Click() Dim plik As Workbook Dim arkusz As Worksheet Set plik = Workbooks.Open("c:\\plik.xlsm") Set arkusz = plik.Worksheets("Arkusz2")...
Spróbuj tak [syntax=vbscript]Private Sub Test_Click() Dim zakresy As Variant, z As Integer, zakres As Range, kom As Range zakresy = Array("AQ16:AQ22", "AQ26:AQ30", "AQ37:AQ39") Sheets("Klient").Range("A18:H32").ClearC... poz = 18 'For w = 18 To 79 For z = 0 To UBound(zakresy) Set zakres = Sheets("Wycena").Range(zakresy(z)) For Each kom In zakres...
Pozwolę sobie ubrać ten kod w wygodną procedurę. [syntax=vb]Sub WyslijMejla(Uzytkownik As String, Haslo As String, SerwerSMTP As String, Tytul As String, Tresc As String, OdKogo As String, DoKogo As String, Zalacznik As String) Dim KonfiguracjaKonta As Object, Mejl As Object Set KonfiguracjaKonta = CreateObject("CDO.Configuration") Set Mejl = CreateObject("CDO.Message")...
Co zrobić, aby po po zmianie wartości w kolumnach 5,6,7,8; Data i godzina w kolumnach B i C pozostała niezmieniona. Odpowiadając tak na "sucho" ... trzeba do kodu dodać coś takiego: Wariant I If Target.Column = 5 Or Target.Column = 6 Or Target.Column = 7 Or Target.Column = 8 Then " można skrócić do " If Target.Column >= 5 And Target.Column <=...
Pewnie można, ale to już dłuższa historia... :) Najprościej - jeżeli plik-źródło jest w tej samej lokacji - wstawić kwerendę wybierającą dane (Dane->Importuj dane zewnętrzne->Nowa kwerenda bazy danych, wybrać Excel Files * i OK, wskazać plik-źródło (można zaznaczyć "Tylko do odczytu"), a dalej z kreatora" wybrać zakładkę, rozwinąć ją krzyżykiem, wybrać...
Witam To jest makro wyszukane w jakiejś książce nie pamiętam. Tworzy nowe skoroszyty dla filtra z tabeli przestawnej. Zmień fragment aby tworzyło nowe arkusze Dodano po 6 Proponuję stronę helion.pl Tam do książek są przykłady na FTP. Skarbnica przykładów ;-)
Przejrzyj dobrze kod. Ostatnią funkcję masz "zaremowaną". [syntax=vb]'Call GetOnlyGoodValues(x1, x2, x3, x4, x5, x6, x7, x8, x9)[/syntax] Wewnątrz GetOnlyGoodValues wykonywane jest przeszukiwanie. Działa to dobrze bo sprawdzałem, ale generowanie czegokolwiek trwa baaaardzo długo. Zapis do komórek Excela mija się z celem o czym już pisałem. Właśnie dodałem...
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...
Moje pierwsze w zasadzie makro VBA w wordzie (pisałem kilka makr w Excelu, ale swój poziom szacuję na podstawowy). Tak więc trochę mojego niechlujnego kodu: Const ilePyt = 50 Const ileOdp = 4 Const pytWTescie = 15 Należy ustawić odpowiednio ilość wszystkich pytań, ilość odpowiedzi na każde z pytań, a także z ilu pytań ma się składać test. Dokument źródłowy...
no to musisz pobrać listę plików ze szczegółami, wyłuskać z nazw (lub właściwości pliku) datę/godzinę i w pętli wydać rozkazy kasowania tych, co spełniają kryteria. (at)ElektrodaBot daj program / makro w VBA które odczyta listę plików w katalogu, porówna które były starsze niż tydzień i je skasuje. Bezpośrednia odpowiedź Poniżej masz gotowe makro VBA,...
Sub ZamienNaHiperlink() Dim komorka As Range Dim nazwaPliku As String Dim sciezka As String Set komorka = ActiveCell If IsEmpty(komorka.Value) Then MsgBox "Aktywna komórka jest pusta.", vbExclamation Exit Sub End If nazwaPliku = Trim(CStr(komorka.Value)) ' Buduje pełną ścieżkę z podwójnymi ukośnikami sciezka = "file:///D:\as\" & nazwaPliku &...
Cześć, Czy jest możliwość w VBA ignorowania MsgBox, który wyskakuje tuż po otwarciu innego pliku? Mam makro - otwiera plik i wyskakuje MsgBox (coś sprwadza, służy komuś innemu - więc o usunieciu nie ma mowy). Jest jakieś obejście by dezaktywować MsgBox z innego pliku, lub nawet całe kody makr?
Witam Często muszę usuwać odfiltrowane wiersze w których znajduje się tez grafika. Znalazłem gotowe makro które działa dość szybko i usuwa je, jednak robi to bez grafiki. Dodam tylko że we właściwościach znajdujących się w pliku zdjęć mam zaznaczoną opcję "Przenoś i zmieniaj rozmiar razem z komórką". Czy da się zmodyfikować to aby razem z tymi odfiltrowanymi...
[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]
Mam kod makra w Excel pobierający dane z pliku TXT. Moja prośba jest czy ktoś wie co trzeba zmienić aby zawsze zaczynał wypełnianie Excela od komórki "A1". Czy da sie zrobić tak żeby przycisk wywołujący to makro był w jednym arkuszu a zkopiwane dane z pliku TXT do innego arkusza. Private Sub CommandButton1_Click() 'Sub ImportRange()...
Cześć, mam problem, którego nie potrafię rozwiązać. Mianowicie potrzebuje narzędzia, które będzie wyszukiwać zakładki w pliku excel po jego nazwie. Powinno być to w formie MsgBox. Np. mamy plik jak w załaczniku i chciałbym, żeby odrazu po uruchomieniu wyskoczył MsgBox, gdzie możemy wpisać interesujacy nas arkusz i otwiera się on po potwierdzeniu komunikatu....
Napisalem wszystko od nowa. Makro testuje czy folder istnieje jesli tak - zapisuje w nim nowy plik pod warunkiem ze plik juz sie tam nie znajduje, jesli nie - tworzy nowy folder i zapisuje w nim nowy plik - nowy miesiac. =INFO("Directory") nie dzialalo dobrze w moim przypadku gdyz nie zawsze pokazywalo prawidlowa lokalizacje. Co o tym myslicie? Czy...
Bez autonumerowania tabel/wykresów nie wygeneruję spisu Coś mi się zdaje kolego, że korzystasz z nowszych wersji Worda niż mój (2016) :?: Więc nie będę w stanie przetestować rozwiązań pożądanych przez Ciebie :cry: Ale w takim razie nie możesz doklejać tego segmentu kodu modyfikacji tabel :!:, lecz musisz stworzyć odrębne makro operujące na tzw. kolekcji...
Witam. Mam pytanie i prośbę. Stworzyłem kod vba, którego działanie powoduje oczekiwany efekt. Makro sprawdza, czy w zakresie od c15:p15 występują wartości 135 lub 165, oraz w komórce a15 tekst "waluta 150 i 180". Jeśli w a15 tekst jest inny niż "waluta 150 i 180", wtedy makro przestaje działać. Jak widać, jest to napisane baaardzo topornie. Czy mógłbym...
Witam, Mam pewien problem którego nie jestem w stanie prześledzić, mianowicie na FTP sieciowym (który jest beckupowany) mam zamieszczony arkusz Excel który jest bazą danych, dla innych arkuszy które za pomocą kwerendy łączą się z plikiem i siąpają z niego dane, oraz zawierają kody makra które dopisują bądź edytują poszczególne wpisy w pliku źródłowym...
Potrzebuję dodać do swojego kodu konieczność potwierdzania chęci usunięcia danych, jeśli wybrany zakres to więcej niż jedna komórka. Czyli jeśli użytkownik skasuje zawartość jednej komórki, to nic się nie dzieje, natomiast jeśli zaznaczy kilka i będzie chciał skasować ich zawartość, to pojawi się msgbox "czy na pewno chcesz skasować dane z zakresu ......
row = Cells.SpecialCells(xlCellTypeLastCell).r... - może być puste row=cells(rows.count, 3).End(xlUP).row Aby przetestować: row = Cells.SpecialCells(xlCellTypeLastCell).r... MsgBox row
Hej Testuję krótkie makro w VBA [syntax=text]Sub Sayhello() Msg = "Czy nazywasz się" & Application.UserName & "?" Ans = MsgBox(Msg, vbYesNo) If Ans - vbNo Then MsgBox "Nic się nie stało" Else MsgBox "Jestem Jasnowidzem!" End If End Sub [/syntax] I teraz jak je uruchamiam to pojęcia yes i no są odwrócone. Kiedy klikam Yes pojawia się komunikat "Nic się...
Cześć :) Nie wiem, czy tu jest istotny kod tego makra - mam zdaje się podobny problem. Uruchamiam makro i po drodze Excel generuje kilka pytań, na które odpowiedzi chciałbym zautomatyzować. W wielu miejscach znajduję instrukcję tworzenia MsgBoxów, ale nigdzie nie znalazłem jak zakodować w VBA automatyczne odpowiadanie na nie. I tak np. Excel zadaje...
To powinno ci pomóc: Sub cos() a = Now() b = Year(a) c = Month(a) d = Day(a) MsgBox ("Teraz jest: " & a & Chr(10) & Chr(10) & "Rok:" & b & ", Miesiąc:" & c & ", Dzień:" & d) nazwa = "plik_" & b & "-" & c & "-"...
takie tstr = Str(Target.Value) jest równoważne z Target. Jeśli używasz angielskiej wersji Excela, to prawie tak, jeśli polskiej - jak ja na ogół i jak pytający - to już zdecydowanie nie! Proponuję wykonać takie makro po wprowadzeniu do komórki liczby dziesiętnej. [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) MsgBox Target & "...
excel msgbox msgbox informacja msgbox formatowanie
progdvb phoenix drzewa czasz karta pamięci uszkodzona
vaillant ecotec przegląd grzałka pralka
Błąd 0420: Problemy z katalizatorem i czujnikami Mazda 3 2006: Błąd P2096 po montażu emulatora