Mały przykład [syntax=vb]Sub Petla() Dim licznik As Integer, ile As Integer ile = 500 'ile = Range("E1") Do While licznik < ile licznik = licznik + 1 test = Cells(licznik, 1) Loop MsgBox licznik End Sub[/syntax]
Lub bardziej "topornie": [syntax=vbnet]dim x as Byte x=0 If Range("$E$4") > 0 Then MsgBox "b jest uruchamiane" x=x+1 End If If Range("$F$4") > 0 Then MsgBox "c jest uruchamiane" x=x+1 End If If Range("$N$4") > 0 and x<2 Then MsgBox "d jest uruchamiane" End If If Range("$O$4") > 0 and x<2 Then MsgBox "c jest uruchamiane" x=x+1 End If...
w naszej pętli zamiast MsgBox wystarczy podstawić Razem byłoby coś takiego Sub petla() For i = 2 To Range("D2").End(xl... For j = i To Range("D2").End(xl... If Cells(j, 4) <> Cells(j + 1, 4) Then Exit For 'porownanie w kol D indeks 4 Next i = j 'żeby nie od...
Cześć, Mam w jednym pliku kilka arkuszy o różnych nazwach. Chcę wydrukować tylko te arkusze, które spełniają mój warunek, te arkusze które nie spełniają warunku mają zostać pominięte do drukowania. Na razie mam kod, który drukuje wszystkie arkusze do pdf, ale baza się rozrasta i nie chciałbym drukować wszystkiego. Jeden arkusz to jeden plik pdf. kod,...
Oczywiście problem rozwiązałem "półautomatycznie" przez kod w vb net: [syntax=vbnet]Dim str As String = "Select NrEwidKontrahenta, Max(DataWstawienia) AS OstatData FROM KONTRAHENCI GROUP BY NrEwidKontrahenta" Dim da As New OleDb.OleDbDataAdapter(str, cnn) da.Fill(ds) petla: For i = 0 To ds.Tables(0).Rows.Count - 1 ' ComboBox1.Items.Add(ds.Tables(0).Rows(i)...
Hej, Mam prośbę o pomoc. Mam plik z makrem, który wskazuje folder, w którym znajdują się wszystkie dokumenty z których musze pobrac dane. Wszystkie dokumenty są zaszyfrowane z tym samym hasłem "1111". Dane muszę pobrac z zakładki, która jest veryhiden "do exportu" zakres komórek od j3 do bf3 Planowane działanie makra: 1) wskazuję folder gdzie znajdują...
zmieniłem kod na: Sheets(ark).Select With Range("a" & wrs & ":q" & wrs).Interior .ColorIndex = 3 End With i wszystko działa...:) Mam pytanie chce żeby wyświetlił się msgbox lecz nie zatrzyma on czytania kodu i w tym samym czasie bedzie obsługiwana pętla for. a jak ktoś nadusi w msgbox OK to zakończy działanie...
Możesz wykorzystać taki schemat kodu z pętlą. Szczegóły sobie dopasuj. Z obrazka trudno kopiować, a załącznika nie dałeś. [syntax=text]Sub Okno_w_petli() Dim nplik As Variant Do nplik = Application.GetOpenFilename("Wszystkie pliki (*.*), *.*", , "Wybierz plik") If nplik = False Then If MsgBox("Nie wybrano pliku." & vbLf & "Masz ostatnią szansę."...
Makro do przetestowania. Uwagi: 1. Najlepiej wrzucić kod do modułu "normal.dotm". Najprościej: otworzyć Worda z menu 'Start', nagrać dowolne makro wybierając miejsce przechowywanie "szablon globalny". Następnie zastąpić je poniższym, włączyć referencje i zamknąć Worda z zapisem szablonu. Makro będzie dostępne w każdym dokumencie. Żeby nie rozsyłać makra...
Z Twojej procedury Sub Petla() If Range("Z2").Value <> "." Then oraz Arkusz1.Rows("2:2")... Shift:=xlUp Ale to już nie ma znaczenia... A co koledzy na to Sub Petla() a = 1 b = 1 With Sheets("Arkusz1") For i = 2 To Range("B65536").End...
Trzeba wrzucić to w pętlę. Jak znajdzie robi warunek PRAWDA Jak nie znajdzie to w warunku FAŁSZ wyświetla Msgbox i kończy działanie
Cześć :) Proponuję tak: 1. Najpierw pętlą wyświetlić nazwy we fragmentatorze (lub numery pól żeby wiedzieć że np. pole 1 to "kogut" pole 2 to "kaczka" itd. ) 2. Odwołać się do konkretnej nazwy w konkretnym fragmentatorze i ustawić jej właściwość selected na true lub false (w zależności od tego czy chcesz zaznaczyć czy odznaczyć daną opcję) Kod wyglądałby...
Witam, z reguły staram się wyczerpać źródła mi dostępne,ale w tej sytuacji... nie wiem nie potrafię ogarnąć tematu. Ogóle założenie jest dość proste, w recordset mogą być rekordy, które mogą być kolejno takie same ( ten sam produkt), ale mogą też być różne po czym np. znów może pojawić się ten sam produkt np: Przykład: 1 Cola 20 2 cola 20 3 fanta 10...
[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 11 Or Target.Column = 15 Then For Each c In Intersect(Target, Columns(Target.Column)) If LCase(Cells(c.Row, Target.Column).Value) <> "withdrawn" Then If c.Interior.ColorIndex = 44 Then Range(Cells(c.Row, 1), Cells(c.Row, 15)).Interior.ColorIndex = 4 End If If Not...
Urządzenie nie wysyła żadnego sygnału dopóki nie zostanie naciśnięty przycisk na urządzeniu. Myślałem żeby przerwać pętlę po naciśnięciu strzałek na klawiaturze lub kliknięciu myszką Ok, to daj przed pętlą zapytanie. [syntax=vbscript]If MsgBox("wciśnij przycisk na urządzeniu", vbYesNo) = vbNo Then Exit Sub Do Loop Until MSComm1.InBufferCount >= 9 [/syntax]...
Wstaw sobie licznik wewnątrz pętli przed End If (licznik=licznik+1) i komunikat umieść warunkowo za pętlą ( If licznik>0 then msgbox... ).
Chyba złapałem. Moim zdaniem nie powinna to być procedura zdarzeniowa, a zwykłe makro. Jeśli chodzi o coś takiego: http://obrazki.elektroda.pl/4353087600_1... Spróbuj w ten sposób For Each kom in zakres .
Potrzebuje pomocy. Potrzebuje makra, które zrealizuje mi coś takiego - otwiera automatycznie dwa dokumenty - jeden jako dokument xls drugi jako txt. To mi działa. Chciałbym aby z pliku txt z komórki A2 szukał jej w pliku xls po komórkach A i jeżeli znajdzie pasujący wynik to wklei zawartość w pliku txt do xls ale od kolumny B. Prawda jest taka, że nie...
Witam, Napisałem makro które wylicza mi przerwy pomiędzy datami wystawionych faktur, wszystko działa tak jak chciałem ale tylko na małej ilości danych. Mam do sprawdzenia 340000 wiersz i trwa to za długo. Proszę o pomoc. [syntax=vb] Sub licz_przerwy() Application.ScreenUpdating = False ActiveSheet.Name = "Dane" Columns("A:B").Select Selection.Copy Worksheets.Add...
PRL Wywaliłem RS poza pętlę (zupełnie nieświadomie wpisałem go w pętlę) i dodałem do testów MsgBox'a. Błąd przypisania wartości z listy nie zniknął, ale pojawił się dodatkowo błąd 3219. Zauważyłem, że jest on cykliczny - 2 wybory bez błędu, 2 z błędem. Opis błędu wskazuje na odwołanie do właściwości tylko do odczytu albo do niemającej zastosowania....
Zrobiłem trochę inaczej tzn. bez drugiego arkusza, z nadpisywaniem starych wartości i tym błędem do obróbki (błąd dodawany jest do ostatniej pozycji w rozbiciu aby pieniążki się zgadzały co do joty ;) ) Pliczek w załączniku do obejrzenia. [syntax=vb]Sub rozbij() Const dni = 365 For Each kom In Range("D1:D100") 'petla ktora rozwija wartość jeśli 'x'...
Oczywiście można wykonać w pętli dla wielu plików, wpleść w procedury opisane wyżej Próbuję ale nie ogarniam. Mój poziom to: (AutoOpen Stub Data) też się odkrył dlatego go wywołuję. Ale oczywiście to makro tylko do obróbki ręcznej - z pętlą nie poradzę.
Czesc, Mam taki problem napisalam przerobilam funkcje znaleziona w internecie na swoje potrzeby :-) jestem laikiem totalnym jezeli chodzi o VBA. Z gory przepraszam za nie uzywanie polskich znakow. Problem jest nastepujacy moja funkcja dziala na zasadzie przypomnienia mailowego wysylanego z excela na 15 dni przed uplywem waznosci dokumentu na moj adres...
Witaj fragment: Wielkie dzięki kolego, troszkę musiałem pokombinować, bo na początku pętla liczyła do 25 i wysyłała, a jak zostało mniej niż 25, to już nie. Okazało się, że dodanie poniżej pętli tego fragmentu odpowiedzialnego za wysyłkę rozwiązało problem. W całości wygląda to tak : [syntax=vb]Sub WyslijMaileDo25adresow() Dim oApp As Object Dim oEmail...
Chodzi o Nr wiersza? Wypróbuj takie coś: [syntax=vbscript]w = 2 max = 1000 Do While Cells(w, 1) <> "Nowy" w = w + 1 If w = max Then Exit Do Loop If w < max Then MsgBox w[/syntax] Może nawet ciut szybciej byłoby przez Columns(1).Find...
Przy sprawdzaniu 11 komórek nie opłaca się za bardzo optymalizować tego kodu w jakikolwiek sposób, ale gdybyś chciał coś podobnego robić na setkach komórek to po znalezieniu pierwszej pustej można przerwać pętlę i nie szukać dalej. W przypadku kilkunastu komórek może zostać "nieoptymalnie". :)
nie mam zainstalowano VB .NET, przed 'label1.text = tlumacz(TextBox1.Text)' wejść MsgBox TextBox1.Text i zobaczyć, co będzie ile Pan współpracuje z VB .NET? można rozpocząć coś prostszego?
:arrow: Smutny_k 1. Na przyszłość: załóż nowy temat z odnośnikiem do starego (jak dasz "pomógł" pomagierom?) 2. Popatrz na taką pętlę (ścieżka domyślna dokumentów użytkownika) i zamiast msgbox podstaw swoją procedurę. Sub pliki_xls() katalog = Application.DefaultFilePath & "\" 'katalog = "c:\xxx\" 'usuń pierwszą linię...
Na DC też można wydrukować, ale należy napisać inny kod. Też działa ;) [syntax=vbscript]Sub Zlicz() Dim FolderPath As String, Filename As String, Plus As Integer FolderPath = ActiveWorkbook.path & "\pliki_pdf\" Filename = Dir(FolderPath & "\*.pdf") Plus = 2 Do While Filename <> "" q = Shell("C:\Program Files (x86)\Adobe\Acrobat Reader...
Pokombinuj z taką pętlą Sub SortujDziurawe() wrs1 = 1 Do Until wrs1 > 65500 wrs2 = Range("A" & wrs1).End(xlDown).Row MsgBox "sortujemy zakres: A" & wrs1 & ":A" & wrs2 Range(Cells(wrs1, 1), Cells(wrs2, 1)).Sort Key1:=Cells(wrs1, 1) wrs1 = Range("A"...
Twoja pętla przypisuje kilkukrotnie te same wartości tym samym zmiennym. Dla mnie to nie ma sensu. Zobacz ten przykład działania pętli Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub proba() Dim Tekst As String Dim wartosc As Variant Dim a As Integer Dim startuj As Single, koniec As Single startuj...
Trochę "posprzątałem" po rejestratorze, wstawiłem co niezbędne, wywaliłem co niepotrzebne i wyszło coś takiego Private Sub CommandButton1_Click() Dim x As String, y As String Dim i As Integer For i = 0 To 10000 x = Range("J2").Offset(... + i, 0) y = Range("J2").Offset(... + i, 1) If x = ""...
Witam serdecznie. Chciałbym stworzyć prosty Msgbox, który po wybraniu w kolumnie H w komórce (ściślej mówiąc od H3:H) z listy rozwijanej "fail", wyświetli się komunikat "Do poprawy" za każdym razem gdy to wybierzemy. Czy ktoś może doradzić jaką pętlę tu zastosować? [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Range("H:H")...
hmm, nie za bardzo o to chodziło, ale dzięki za odpowiedz. zmiany pracują w systemie i rzadko dwa lata z rzędu wypadają tak samo :( ja zrobilem cos takiego lopatologia ale dziala czy ktos jest w stanie doradzic co do kodu? [syntax=vb]Option Explicit Sub dniowki() With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With With...
Błagam o pomoc :) Ja to zrozumiałem tak (uszczuplone do granic możliwości :) na dwóch najprostszych pętlach ) [syntax=vbscript]Sub test() plik = "h:\macro\" & "zamowienie CRC 4-2" & lp & ".mac" Open plik For Output As #1 Print #1, "[PCOMM SCRIPT HEADER]" Print #1, "Language = VBSCRIPT" Print #1, "DESCRIPTION=" Print #1, "[PCOMM SCRIPT SOURCE]"...
Witam, mam takie zadanie aby zrobić formularz na którym jest textbox, command button, oraz label. Mam Ma to działać tak, że wpisuje hasło do textboxa on pobiera to hasło i sprawdza czy jest prawidłowe jak nie, to ma czekać aż wpisze znowu hasło do tego text boxa i znowu sprawdzić. Napisałem ten program ale nie działa prawidłowo, tj. jak się poda złe...
Najprościej stosując pętlę. Np[syntax=vb]Sub arkusze() msg = "Skoroszyt zawiera arkusze o nazwach:" For i = 1 To Sheets.Count msg = msg & Chr(10) & i & ") " & Sheets(i).Name Next MsgBox msg, vbInformation End Sub[/syntax]
1. Time w VB zwraca czas. 2. Warunek pętli w związku z powyższym nigdy nie będzie spełniony. Po mojemu 5-sekundową pętlę można uzyskać Np tak: [syntax=vbscript]a = Time b = a + TimeSerial(0, 0, 5) Do While Time < b w = w + 1 Loop c = Time MsgBox Second(a) & " " & Second(c) & vbNewLine & w[/syntax]
OK. Przed pętlą For wklej: w sytuacji gdy dla któregoś wiersza dane znajdują się w którejś z kolumn H:J ale jednocześnie nie jest wypełniona kolumna E lub G Jeśli jest inaczej, trzeba to zrobić w pętli, sprawdzając każdy wiersz z osobna. Edit rano ;) Np czymś takim: [syntax=vbscript] For w = 8 To 40 If WorksheetFunction.CountA(.Range("E" & w &...
Nie robiłeś dokładnie "tak", bo w kodzie masz After:=Workbooks("wczyt.xlsm"), co jest składniowo bez sensu: "wstaw nowy arkusz za plik wczyt.xlsm". Ja tylko dodam, że składnia [syntax=vb]ActiveSheet.Copy After:=Workbooks("wczyt.xlsm").Sheets(Sh... nie zadziała jak trzeba, bo po otwarciu pliku, jak w przykładzie, aktywnym jest nowootwarty...
1. Pomyliłeś Labele. Powinno być [syntax=vb]If Label14.Caption = "" Then MsgBox "Musisz wybrać pracowników", vbCritical, "Pracownicy" Exit Sub End If[/syntax]i podobnie niżej, ale to nie będzie już potrzebne. 2. Zamiast podstawiania indeksu jako Nr wiersza (ostWrs = Label14.Caption), powinieneś zastosować pętlę. Podobną do tej w 'lstFiltr_Change'. Spróbuj...
Witam. Mam zadnie z programowania, nie mam pojęcia jak to zrobić? , Na podstawie tego zadania, mamy zrozumieć działanie pętli. Sub sort() Dim tablica(5) As Integer Dim tabi As Integer tablica(0) = 4 tablica(1) = 7 tablica(2) = 5 tablica(3) = 2 tablica(4) = 8 For k = 0 To 3 For i = 5 To 1 Step -1...
Ok, a czy ta sekwencja dostępu jest dobra ? wkf_attr/recognitionresult/reject Dodano po 10 [syntax=vb]Function sprawdz_xml2(sciezka As String, galaz As String, tekst As String) As Boolean Dim moj_xml As New DOMDocument On Error Resume Next moj_xml.Load (sciezka) For Each element In moj_xml.getElementsByTagName(galaz) If element.Text = tekst Then sprawdz_xml2...
witam dane sa generowane przez urządzenie na serwer w takiej postaci jak napisałem wyżej.Niestety nie mam możliwości ingerencji w sposób rejestracji tych danych. Nie ma problemu impotem wszystkich lub jednego pliku *.dat do excela - robię to identycznie jak z importem *.txt Import z folderu o zmiennej nazwie i zmiennej nazwie pliku *.dat poradziłem...
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...
Witam serdecznie, pobieram czas systemowy i chciałbym sprawdzić porównać go z moimi danymi, jeśli godzina i minuta są takie same wyświetla okienko.... z góry dziękuje za wskazanie gdzie tkwi problem Fragment kodu który nie działa tak jak powinien, porównanie argumentów: .if hour == 12 MsgBox hWnd,hour,"Godzina",MB_OK movzx eax, stm.wMinute...
petla while excel msgbox zamykanie msgbox
uszkodzone panewki wiertarka bosch wirnik messer spawarka
hewalex sterownik hewalex sterownik
Pilot do Yamaha Aventage RX-A2020 - opcje zakupu Szuflada napędu optycznego sama się otwiera i nie zamyka