Zerknij [url=http://www.cpearson.com/excel/vbe.a...
Witaj. Spróbuj: [syntax=vb]Sub test() Dim wynik as boolean wynik = False For kolumna = 1 To 11 If Cells(2, kolumna) = "" Then wynik = True Next kolumna if wynik then MsgBox "wpisz wszystkie wartości" End Sub[/syntax]
To sprawdź sobie takie rozwiązanie.
Nie. W makrze w pliku b dodajesz parametr który przyjmuje procedura makra. gdy makro wywołujesz z pliku A to ustawiasz ją na True a gdy z B na False. Można też ustawić parametr jako optional i wartość domyślną na false, wtedy bez jego podania będzie miał false...
A powinno... Makra masz włączone?
[syntax=vb]Sub AZ() Dim rng As Range, cl As Range Dim frm As Boolean Set rng = Range("F3:DZ100") For Each cl In rng If cl.Formula Like "=*" Then frm = True Exit For End If Next cl If frm Then MsgBox "W arkuszu wystepuje jakas formula" Else '- jakas tam funkcja - End If End Sub [/syntax]
Zamiast MsgBox ("1")
[syntax=vbscript]If InStr(1, [B5], [A1]) > 0 Then MsgBox [B5][/syntax]
Coś ala [syntax=vbscript]tekst = TextBox3.Text a = Split(tekst, vbLf) MsgBox a(0) MsgBox a(1) MsgBox a(2)[/syntax]
Zerknij [url=https://stackoverflow.com/questions... Działa w Excelu, zadziała z Wordem. Uwaga: żadnych MsgBox w kodzie! To też powoduje utratę/uzyskanie fokusu i MsgBox będzie wyświetlany bez końca.
[syntax=vbscript]x = InputBox("Wprowadź liczbę płatności") If IsNumeric(x) Then LiczbaPlatnosci = Int(x) Else MsgBox ("Błąd") End If[/syntax]
W ramach ciekawostki - w VBA w Excelu [syntax=vbscript]Sub ZapiszLiczbyDoPliku() Dim SciezkaPliku As String Dim Numer As String Dim PlikTekst As Integer Dim k As Integer Dim i As Double SciezkaPliku = ThisWorkbook.Path & "\liczby.txt" PlikTekst = FreeFile Open SciezkaPliku For Output As #PlikTekst For i = 0 To 99999999 Numer = CStr(i) k = Len(Numer)...
Np. spróbuj: Msgbox environ("userprofile") &"\Decktop"
[syntax=vb] If ostatniwiersz <> 24 Then MsgBox "W arkuszu jest " & ostatniwiersz & " wierszy" [/syntax]
Bez sensu, ale: [syntax=vbscript]Private Sub Workbook_Open() a = Weekday(Date) If a = vbSunday Or a = vbWednesday Or a = vbFriday Then MsgBox "Czy zrobiłeś porządki?", vbYesNo, "UWAGA" End Sub [/syntax]
[syntax=vbscript]p = Environ("USERPROFILE") & "\Desktop\" & Format(Now(), "yyyy-MM-dd_hh-mm") & "_" & Nazwa & "_z_budżetu.pdf" Worksheets("ARKUSZ_S_P-wydzial").ExportA... Type:=xlTypePDF, Filename:=p, IncludeDocProperties:=True MsgBox "Zapisano pod nazwą " & p[/syntax]
Jesli naprosto usunuc - tak, a jesli zamiast 2 MsgBox If odp=vbYes ??
[syntax=vbscript]Sub Sumuj() Application.ScreenUpdating = False Katalog = "C:PlikiExcela" Plik = Dir(Katalog & "*.xls*") While Plik <> "" Set a = Workbooks.Open(Katalog & Plik) For x = 1 To Sheets.Count Sheets(x).Range("OO1").Formula = "=SUM(A1:A100)" s = s + Sheets(x).Range("OO1") Sheets(x).Range("OO1") = "" Next a.Close False Plik =...
Rozwiązań jest naprawdę sporo Zgadzam się z tym poglądem i choć autor postu chyba zasypał się w tych rejestrowanych makrach :-) to podsuwam nieco inne rozwiązanie tego zadania marek003 obawiam się uruchomienia takiego masowego wydruku na nieokreślonej drukarce (jednostronna czy dwustronna) i dlatego proponuję rozwiązanie z exportem wszystkich podzleceń...
jak napisać program obliczający sumę 1+1/2 + 1/3 +1/4.... +1/n dla n podanego w polu edycyjnym , wynik pokaż w msg box lub label . Program ma być napisany w języku VBA Oczywiście, poniżej znajdziesz przykładowy kod napisany w VBA, który oblicza sumę ciągu harmonijnego 1 + 1/2 + 1/3 + ... + 1/n, gdzie n jest liczbą podaną przez użytkownika. Kod ten...
[syntax=vb]Sub sciezki() Dim sciezka As Variant 'opcja1 - na tablicy sciezka = "c:\moje dokumenty\wiesiek\plik 123.xlsx" sciezka = Split(sciezka, "\") nazwa = sciezka(UBound(sciezka)) ReDim Preserve sciezka(UBound(sciezka) - 1) 'obcinamy ostatnią część tablicy sciezka = Join(sciezka, "\") 'kleimy na nowo MsgBox nazwa MsgBox sciezka 'opcja2 - na pozycji...
[syntax=vbnet]Sub test() Lst = Array(1, 4, 9, 10, 11) For Each k In Lst MsgBox Str(k) Next End Sub[/syntax]
Witaj [syntax=vb] For Each p In Workbooks(nazwa).BuiltinDocumentProperti... If p.Name = "Creation date" then x = p.Value Next Msgbox x [/syntax] Dostosuj
Witam. Czy jest możliwość aby za pomocą makra skonfigurować plik worda aby drukował się automatycznie przy zapisywaniu pliku? Wklej to do thisdocument zapisz i zamknij i otwórz. [syntax=vbscript]Private WithEvents App As Word.Application Private Sub Document_Open() Set App = Word.Application End Sub Private Sub App_DocumentBeforeSave(ByVal Doc As Document,...
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]
A gdyby tak 'Dir'em go? [syntax=vb]pth = ThisWorkbook.Path & "\" strPdf = txtNazwiskoImie & ".pdf" plik = Dir(pth & strPdf) 'lub 'plik = Dir(ThisWorkbook.Path & "\" & txtNazwiskoImie & ".pdf") If plik <> "" Then MsgBox "ChkBox=true" Else MsgBox "ChkBox=false" End If[/syntax]
Jest przypisanie, jest wyszukiwanie wolnego wiersza, brakuje tylko instrukcji warunkowej. Napisz najpierw samą instrukcję, następnie podstaw wyszukiwanie i przypisanie. Przeanalizuj: [syntax=vb]If usfdiplomaden.ComboBoxprefix3.Value = "Frau" Then MsgBox "Kobieta, czyli ""in""" 'sprawdzimy czy dobrze. Później linię usuniemy 'wyszukanie1 'przypisanie1...
Może to Cię do czegoś natchnie... [syntax=vb]Const NAZWA_PLIKU As String = "C:\EX04\1.xlsm" Dim plik As Workbook Set plik = Workbooks.Open(Filename:=NAZWA_PLIKU) If plik.ReadOnly Then plik.Close (False) MsgBox "Nie podziałamy... :(" Else plik.Sheets(1).Range("A1").Value = Now plik.Close (True) MsgBox "Zapisano!..." End If[/syntax]
Jeśli te trójki wpadają nieparzyście, a parzyste miejsca są istotne to można tak: [syntax=vb]Sub test19() wyraz = "313130303139323833393935" For i = 1 To Len(wyraz) If i Mod 2 = 0 Then nowy = nowy + Mid(wyraz, i, 1) End If Next MsgBox nowy End Sub[/syntax]
:) [syntax=vbscript]Sub Log_Ok() Dim ostkomzakr As String Dim LogOk As Range With ThisWorkbook.Sheets("Jakiś_arkusz").Rang... ostkomzakr = Split(.Address(0, 0), ":", -1, 1)(1) Set LogOk = .Find(Environ("Username"), .Range(ostkomzakr), xlFormulas, xlWhole, xlByRows) If LogOk Is Nothing Then Set LogOk = .Find(Environ("Username"), .Range(ostkomzakr),...
Dokładnie tu nie ma nic co by mogło nie zadziałać, chyba że jest to jakiś wycinek z większego kodu (jak w pierwszym poście). Możesz sprawdzać po kolei czyli zaczynając, potem od ptaszkuj rng1 sprawdź itd. [syntax=vbscript]Sub second() Dim rng1 As Variant Dim rng2 As Variant Dim box1 As Range Set box1 = Application.InputBox("Select column", , , , , ,...
[syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 12 And Target = "przegrany" Then If Cells(Target.Row, "M") = "" Then MsgBox "Wprowadź komentarz!", vbCritical, "UWAGA" End If End Sub [/syntax]
Temat odrobinę podpada pod "zaniżanie poziomu". Jeśli argumenty są w cudzysłowach, to znaczy, że są typu String. Prawda? Podstaw je pobierając z komórek lub InpuBox'a... Przeanalizuj taki[syntax=vb]Dim zmienna As String, zmienna2 As String zmienna = Range(InputBox("wpisz Np a1:g65")).Address MsgBox zmienna 'adres zakresu zmienna2 = Range(InputBox("wpisz...
jak to zrobić aby w przypadku braku danych po naciśnięciu Button'a wyskoczył msgbox "Wprowadź dane" i program czekał na te dane nie "idąc" dalej i dało sie te dane wprowadzić w tym czasie do textbox'a Zastosuj dla tego pola tekstowego procedurę zdarzeniową TextBox1_Exit z instrukcją "If", jak masz to zrobione, oraz z "Cancel = 1", np.: [syntax=vbscript]Private...
Jednak proszę napisz konkretniej w jakim miejscu kodu powinienem zadbać o obsługę błędu? Poniżej jeden z moich ostatnich postów w innym temacie: Czy według Ciebie, jak na korzystanie tylko z 2 źródeł wiedzy (pomoc z programu + macro recorder) dobrze poradziłem sobie z tym kodem? Tak, generalnie całkiem dobrze. Może ta logika odczytu pliku kiedy coś...
Dzięki, ale z twoim uzupełnieniem makro USUWA wszystkie zielone teksty które dokona zaznaczenia w całym dokumencie wszystkich wystąpień fontu z danym formatowaniem, by można było usunąć teksty z tym formatowaniem [syntax=vbscript]Sub Makro2() ' ' Makro2 Makro ' ' Selection.Find.ClearFormatting Selection.Find.Font.Color = 5287936 With Selection.Find...
Najprościej jak tylko możliwe Dim p As Variant p = "a" Do While IsNumeric(p) = False p = InputBox("Podaj kapitał początkowy:") If p = "" Then Exit Sub If IsNumeric(p) = True Then Exit Do MsgBox "Zle dane" Loop
Czy istnieje jakiś inny "sposób", aby to jednak formuła zmieniająca wartość komórki była tzw "wyzwalaczem" makro? Generalnie tak - możesz np. skorzystać z kodu typu: x=Target.Row :cry: Jak widzę w Twoim pliku radzisz sobie dobrze z modyfikacją i dostosowywaniem kodu VBA do swoich potrzeb :D
[syntax=vbscript]Sub OtworzRaport() Sciezka = "\\sdb1\dwp\Raporty_godzinne\" Plik = Sciezka & "raport_aktywnosci_nowy_" & Year(Date) & Month(Date) & Day(Date) & "_" & Format(Hour(Time), "00") & "*.xlsx" If Dir(Plik) <> "" Then Workbooks.Open Sciezka & Dir(Plik) Else MsgBox "Brak pliku z obecnej godziny." End If...
we fragmencie Kod: If Range ("f16") .Value = 0 Then MsgBox "Brak elementów do archiwizacji - wypełnij zamówienie", vbCritical End End If nie było "end" Bylo tak[syntax=vb]Private Sub CommandButton1_Click() 'CommandButton4.Enabled = False 'wy³¹czenie przycisku Archiwizuj zamówienie If Range("B18").Value = 0 Then MsgBox "Brak elementów do archiwizacji...
A co mi tam. Tak ma być. :) [syntax=vbscript]Sub Drukuj() Dim Word As Object, Dokument As Object, DomyslnaDrukarka As String Dim WybranaDrukarka As String, Plik As String On Error Resume Next WybranaDrukarka = Sheets("Drukarki").Cells(Application.Mat... Sheets("Drukarki").Range("B:B"), 0), "A") If WybranaDrukarka = "" Then MsgBox "Wybierz najpierw...
po komunikat = suma1 dodaj Dodano po 2 Wtedy 'Function formatowanie' odpada
Szukalem z ciekawosci w VBA Funkcji EX Jezeli(logika,prawda,falsz) i nie umialem znalesc czy istniej odpowiednik? Napisz sobie "tłumacza": http://obrazki.elektroda.pl/2625533000_1... To baaardzo skomplikowany kod [syntax=vb]Sub Pl_En() MsgBox ActiveCell.Formula End Sub[/syntax]
Jak wyszukaj pionowo to go wykorzystajmy. A VBA jest dostępny, ale nazywa się po angielsku. czyli jakiś taki schemat: [syntax=vbscript] Sum Test00() Dim Y As Long, R As Range Y = 2 ' zaczynamy od 2 wiersza Do While Cells(Y, "A") <> "" 'zakładam, że tekst do wyszukiwania jest w "A" Set R = WorksheetFunction.Lookup(Cells(Y, "A"), Sheets("Drugi").Range("F1").CurrentRegio...
a da sie zrobić ze po zeskanowaniu/wpisaniu w zółtym polu numeru narzędzia wprowadzany numer zniknie zeby nie trzeba bylo kasować recznie? Czytnik nadpisze wartość, ale jeśli musi być... Dopisz sobie po '.Select' '.Value=""': [syntax=vbscript] Else MsgBox "Nie ma w bazie" End If .Select .Value = "" 'to tutaj End If[/syntax]
Spróbuj z anulowaniem zdarzenia (Cancel=True) Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If IsNumeric(Okno.TextBox1.Value) = False Then MsgBox "popraw" Cancel = True End If End Sub
Wklej to w userforma [syntax=vb]Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = 0 Then Cancel = True MsgBox "Blokada" End If End Sub[/syntax]
Masz świadomość tego, że żeby Ci przedstawić poprawny kod, to trzeba do testów stworzyć bazę z tabelami i formularzem? Może i to niedużo roboty, ale zawsze zajmuje czas... Akces, to nie tabelka w Excelu. Im dalej w las, tym więcej przed Tobą problemów i pytań, skoro taki prosty kod (skopiowany z sieci) jest dla Ciebie problemem. [syntax=vbscript]Private...
[syntax=vb]Private Sub Workbook_BeforeClose(Cancel As Boolean) If Range("K1") <> "" Then Me.Save Else If Range("A1") > 0 Then MsgBox "Komórka K musi być wypełniona przed zamknięciem dokumentu!" Cancel = True Else MsgBox "OK, komórka K wygląda na poprawnie wypełnioną Smile" Me.Save End If End If End Sub [/syntax]
Czy jeszcze coś należy zrobić ? Uważać, aby nie zahasłować plików w Moje Dokumenty ;) W tym celu warto byłoby wstawić MsgBox z zapytaniem "Czy aby jesteś pewien..." z nazwą wybranego katalogu. Coś jak[syntax=vb]If Msgbox("Zabezpieczyć pliki w katalogu " & kt, vbinformation+vbyesno) = vbNo then exit sub[/syntax]Za linią: 'If kt = "" Then Exit Sub'
zamykanie msgbox msgbox drukuj excel msgbox
schemat magneta router kablówka cisco różnicówka przewody
tny264pn ariston tny264pn ariston
Termostat grzałki w lodówkach Samsung No Frost - działanie i diagnostyka Grzałka zamiast anody - dlaczego to niemożliwe?