W kodzie skoroszytu [syntax=vb]Private Sub Workbook_Open() Dim szukany As Worksheet y = CStr(Date) For Each szukany In ThisWorkbook.Worksheets With szukany If CStr(.Range("A1")) = y Then .Activate Exit Sub End If End With Next szukany MsgBox ("Nie ma") End Sub [/syntax]
:arrow: adamas_nt Ale jeśli "dziura" jest wewnątrz A skąd się weźmie jak od komórki C3 dane wprowadzane są za pomocą InputBoxa?
Sposobów na otwarcie pliku w VBA jest wiele. Można użyć: [syntax=vbnet]Pthnm = ActiveWorkbook.Path Workbooks.Open Pthnm & "\TMP.xlsx"[/syntax] a nazwę pliku podać przez InputBox lub pobrać z jakiejś komórki w arkuszu. Inny sposób to użycie FileDialog i wybranie pliku przy jego pomocy. Wybór należy do Ciebie.
Witam, Może ktoś pomoże z taką zagwozdką związaną z autofiltrem: Chciałbym za pomocą funkcji inputbox działającą w pętli wprowadzać kolejne kryteria autofiltra i na koniec uruchomić jednokolumnowy autofiltr z tymi kryteriami. Kod wygenerowany rejestratorem: ActiveSheet.Range("A4:O19... Field:=2, Criteria1:=Array("038/WD", "143/WD", "450/WD",...
Jeśli nie miałeś do czynienia z formularzami, to najprościej zamknąć InputBox w pętli w Thisworkbook, przy zdarzeniu Open. Coś jak[syntax=vb]With Sheets("NazwaArkusza") For i = to 10 .Cells(i, 2)= Inputbox ("Wpisz wartość dla komórki B" & i) Next .activate End With[/syntax]Dograj sobie rejestratorem polecenie drukowania, lub po aktywowaniu arkusza naciśnij...
Witam Szybko ograniczymy inputboxa do samych liczb używając [syntax=vbscript]p1 = Application.InputBox("Liczba 1", , , , , , , 1) p2 = Application.InputBox("Liczba 2", , , , , , , 1)[/syntax]
1. Zmienne te muszą być liczbami, np. musi być: kol_pocz = 1 wiersz_pocz = 1 kol_fine = 27 ' (27 jest nr kolumny "AA") wiersz_fine = 100 2. "ZZ" - nie ma takiej kolumny (excel 97). 3. Makro to dla dużych zakresów będzie liczyło bardzo długo (musi przejść wszystkie komórki) 4. Należy usunąć wywołanie okien INPUTBOX i zmiennych z nim związanych (lub poprzedzić...
Witam To fragment kodu z ktróym mam problem i szukam pomocy Do taj pory kod sprawdzał czy w komórce jest wartość i petla działała tak długo jak zakres. Jednak w wypadku kiedy zamiast zakresu dam InputBox czyli "y" petla wstawia w okno przegladarki tekst który jest cały czas wpisany w okno i nie przerywa petli mimo ze w kolumnie B nie ma wiecej wartości....
Witam, Dopiero uczę się VBA i mam taki problem. Potrzebuję napisać makro, które dla pewnego zakresu dat (wskazanego przez użytkownika poprzez inputbox) będzie: a) sumować dane b) wyliczać średnią z tych danych c) zaktualizuje wykres na bazie tych danych (co miesiąc nowy wykres) Dla przykładu w kol. A mam daty a w kolumnie B kwoty, na których chcę wykonać...
Co prawda zrobiłem macro i wstawia ono komentarz ale to jest już "gotowy" komentarz z tekstem albo pusty, a chciałbym żeby po naciśnięciu przycisku można było wpisywać komentarz. Możesz też wykorzystać inputbox [syntax=vbnet]ActiveCell.AddComment ActiveCell.Comment.Text Text:="Bob:" & Chr(10) & Application.InputBox("podaj tekst", Type:=2)[/syntax]
Dzięki PRL rs.Open SQL, cn gdy baza jest chroniona hasłem otrzymuję "Run-time error -2147217843 Automation error" Po zdjęciu hasła z bazy jest OK (nawet bez modyfikacji cn). No i jeszcze jeden problem - Excel blokuje dostęp do pliku accdb Dodano po 3 Da się, zwykły InputBox O! I hasło zna tylko jeden kierownik :-)
Wartość stała jest podana dla przykładu, na szybko napisałem stałą b. Chodzi mi o to żę gdy pętla uzupełni komórki do A10 (bo wpiszemy w inputbox 10) to żeby wykres obejmował do A10. Ale też że gdy wpiszemy w inputbox 3 to żeby wykres czerpał dane do A3 czyli ostatniego wiersza z liczbą. Wprowadzić potrzebną wartość zmienną (a,b lub inną) do zakresu...
Pewien jesteś, że to chciałeś powiedzieć? SUMA w logice to alternatywa czyli słowo 'lub', a iloczyn to koniunkcja czy 'i' Do tej pory jest tak zrobione że jest wpisana formuła SUMA WARUNKÓW kolumn X i Y żeby były dodawane wszystkie liczby z kolumny Z jeżeli oba warunki są spełnione. Chciałbym to tylko mieć w VBA żeby nie zmieniać przy każdej nowej...
Najprościej: 1. Dołożyć pętlę z "gumką myszką" 2. Potraktować Offsetem z InputBox'a 2a. Jeśli zakres źródłowy jest ciągły, zamiast Array też można podstawić InputBox i w pkt.2 pytać o przesunięcie, a nie Nr kolumny (nie uwzględniłem w przykładzie) [syntax=vb]Sub Makro2() MyPath = "C:\magazyn\" myname = Dir(MyPath & "*.xls", vbNormal) rang = Array("A1",...
no własnie. według mnie mozna by zrobic przycisk wyszukaj i w tym przycisku inputbox i zeby w arkuszu wyszukiwało to co sie wprowadza do inputboxa, a wkolejnym inputboxie wpisac wartośc i ona sie wpisuje w tym wierszu co wczesniej znalazło wynik tyle ze kilka kolumn dalej. tylko nie moge sobie z tym poradzic jak napisac kod
A w czym problem? Wpisz w inputbox wartość w odp. formacie i powinno być OK. http://obrazki.elektroda.pl/6034864000_1... http://obrazki.elektroda.pl/3024346800_1...
E2007PL, ustawienia systemowe "dd-mm-rrrr"> Trzeba podstawić datę w formacie US. Postać polecenia musi mieć formę (dla 1 do 2 listopada 2013)[syntax=text]ActiveSheet.ListObject... Field:=2, Criteria1:= _ ">=11/1/2013", Operator:=xlAnd, Criteria2:="<=11/2/2013"[/syntax]Nale... w InputBox wpisywać daty w takim formacie,...
Już mam!!! Teraz walczę nad drugiem - ostatnim - zadaniem. Czy możesz mi powiedzieć jak to ugryźć?? Napisać funkcję użytkownika, która oblicza iloczyn k pierwszych cyfr zadanej liczby. Argumentami funkcji są: wielocyfrowa całkowita liczba dodatnia oraz liczba całkowita k, k < liczba cyfr zadanej liczby. Zastosować funkcję w arkuszu. Następnie przypisać...
Z góry uprzedzam że jestem kompletnym laikiem w VBA – brakuje mi podstaw. W pracy miałam do czynienie z arkuszem obliczeniowym napisanym x lat temu w VBA w excelu który musiałam przystosować do zmieniających się przepisów i norm. Sprawiło mi to wiele frajdy, ale było to – najpierw delikatne grzebanie w cudzym kodzie, później pisanie na tej...
No, trochę zakręcone ;) 1. Dla pojedynczej komórki nie stosuj pętli For . Wystarczy Range () 2. Każda pętla (jeśli już) ma swój początek i koniec. Zjadłaś Next 3. Do porównania potrzebny jest wynik działania: If liczba Mod liczba = 0 Then Dlaczego przy Worksheet_Calculate ? Prościej byłoby przy Worksheet_Change gdzie warunkiem będzie Target.Address(0,0)="A1"...
o to mniej więcej mi chodziło. InputBox już mam, ale właśnie do niego trzeba ręcznie wpisywać dane :( w załączeniu jest zmodyfikowany pliczek. Chodzi mi o to żeby w konkretną komórkę wpisać dla opcji: 1 - SRAP 2 - New Good 3 - Defect 4 - INPUT
Witam, początkująca jestem więc może dlatego nie mogę przejść wydawałoby się prostej sprawy z makrem. W arkuszu "plan" mam dane zaczynające się zawsze od dnia bieżącego. Chcę kopiować codziennie wskazany zakres do arkusza "konsolidacja danych" w zależności od daty. Wskazuję szukaną datę w "konsolidacji danych" przez InputBox od któej chcę zacząć kopiowanie...
Czy można je blokować do edycji po wpisaniu danych lub odblokować jeżeli zajdzie taka potrzeba. Z tym pierwszym to żaden problem, wystarczy wykorzystać zdarzenie Worksheet_Change . Natomiast jak chcesz zrealizować odblokowanie? CheckBox w każdym wierszu? Trochę proszenie się o kłopoty. Chyba, że wszyscy solennie przyrzekną: "Nie będę usuwał wierszy"....
:arrow: marek003 Można wpleść coś takiego kol = Cells.Find(What:="Kod Wewnętrzny").Column i mamy numer kolumny w postaci liczby dla Cells :arrow: agentka83 Większość prostych makr "tworzymy" przez nagrywanie. Przykład: Musisz zamienić tekst A0012 na 0306 w kolumnie "F". 1. Włączasz rejestrator makr 2. Naciskasz Ctrl+H wypełniasz...
Mam taki problem z makrem. W pewnym folderze mam tylko jeden plik i jest on w formacie .xlsm. Niech się nazywa 1.xlsm Moje aktualne makro tworzy mi nowy skoroszyt excela (do innego folderu niż ten w którym jest wspomniany wcześniej 1.xlsm). Następnie chcę dokonać przeklejenia pewnych danych z starego excela (tego o którym wspomniałem 1.xlsm) do nowego....
Obecnie przedstawię poczynione przeze mnie próby. Na marginesie - wydaje mi się , że marek033 oraz adams_nt są na urlopie (i to całkiem słusznie) W przedstawionej tabeli w komórkach znajdują się formuły (= = jeżeli( - co prawda komórki w tabeli mam puste (w których miesiącach nie wpłacono) - ale (uwaga), makro ich nie traktuje jako puste. Jedynie te...
Najprościej zastosować Inputbox. x = InputBox("Podaj Nr wiersza", "Inputbox1") y = InputBox("Podaj Nr kolumny", "Inputbox2")
Skoro ma być w VBA... Przykład z tablicą i... InputBox'em ;) [syntax=vb]Sub aver() tekst = InputBox("Wpisz liczby oddzielając średnikiem", "Obliczanie średniej") tekst = Replace(tekst, " ", "") 'wyrzucamy spacje tekst = Replace(tekst, ":", ";") 'mogło się komuś omsknąć tekst = Replace(tekst, ".", ",") 'to sie często zdarza tablica = Split(tekst, ";")...
Jest X=InputBox()
Myślałam, że można to zapisać jakoś przy użyciu activecell, że gdy użytkownik zaznaczy dowolne dwie komórki to uzyska wynik, bez użycia inputbox.
[syntax=vbscript]dane = Application.InputBox("jakiś tekst" & Chr(10) & "Podaj zakres dat", "Wprowadzanie zakresu dat") [/syntax]
Spróbuj z InputBox'em: [syntax=vb]w = 14 ile = Int(InputBox("Ile?", "Wpisz liczbę całkowitą", 3)) If ile < 1 Then Exit Sub Application.ScreenUpdating = False Range("A16:V29").Copy For i = 1 To ile Range("A" & 16 + w).Select ActiveSheet.Paste w = w + w Next Application.CutCopyMode = False Application.ScreenUpdating = True[/syntax]
Najprawdopodobniej wchodzą dwa slash'e. Najlepiej dopisywać warunkowo. Przy okazji: przypisujesz tę samą wartość do dwóch zmiennych (nieszkodliwa nadmiarowość)[syntax=vb] ImgFldr = InputBox(AnsDirPrompt, "Powitanie", "C:\") 'ImgFldr = AnsDir CurrentFile = Dir(ImgFldr & IIf(Right(ImgFldr, 1) = "\", "", "\"))[/syntax]
[syntax=vbscript]Private Sub Workbook_Open() For x = 2 To Sheets.Count Sheets(x).Visible = False Next a = InputBox("Podaj hasło:") For x = 2 To Sheets.Count If Sheets(x).Range("AA1") = a Then Sheets(x).Visible = True Next End Sub[/syntax]
Rzecz w tym, że nigdy nie będziesz pewien wyniku. Z InputBox'a pobierasz 01-12-2015, w arkuszu może być 12/1/2015, 12/01/2015, 1/12/2015, 01/12/2015. Który tekst (w obecnym formacie) odfiltrować? Pewnie wszystko (tylko czy odfiltrowaliśmy pierwszego grudnia, czy dwunastego stycznia?). Wartości w kolumnie D nie są datami, w rozumieniu Excel'a, a zwykłym...
) chce porównac jak czesto pada dana kombinacja liczb Problem był nie tyle o Lotto, zarówno o tym, gdzie makro zobaczy dana kombinacja liczb. (InputBox, zakres komorek, czyli inne) Nie będzie to sztywno 6, 19, 3 , 22
W takim przypadku potrzebne są dwie pętle. Pierwsza For dla wszystkich arkuszy, których nazwa <>"RAPORT", wewnętrzna Do While...Loop z licznikiem dla Nr wiersza i instrukcją porównująca zawartość komórki, Np: If Instr(Cells(wiersz, 5).text, szukany_fragment)>0 Then i tu kopiowanie. Szukaną można pobrać przez InputBox.
[syntax=vb]Sub zapisz1() numer = InputBox("Podaj numer kolejny") NewFilename = numer & "-2015 " & ".xls" ActiveWorkbook.SaveAs Filename:=NewFilename End Sub[/syntax] lub [syntax=vb]Sub zapisz2() ActiveWorkbook.SaveAs Filename:="FORMULARZE" & ".xls" End Sub[/syntax]
Jeżeli chodzi o sumowanie cyfr w liczbie to zostaje tylko makro, moge troszkę podpowiedzieć: Sub main() Dim c, x As Integer x = InputBox("") While x <> 0 c = c + x Mod 10 x = x \ 10 Wend MsgBox(c) End Sub
(...) przesunięcia zakresu DataRangeOBAYield o 7 wierszy w prawo dla każdego z dwóch zakresów (...) Chodzi o wiersze w dół, czy kolumny w prawo? Można zastosować InputBox, gdzie wpisywane będzie przesunięcie: 0 - B1:H1,B31:H31 1 - o siedem wierszy/kolumn w z góry upatrzoną stronę itd, jeśli jest taka potrzeba Zmienną obiektową masz zadeklarowaną......
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
W związku z pytaniem na pw. Utworzyłem sobie plik w c:\ o nazwie plik1.xlsx, w którym wpisałem tekst w komórki Od B34 w prawo. Następnie uruchomiłem makro (c:\ w InputBox'ie). Dane pięknie skopiowały się do "Arkusz2", komunikat: "skopiowano z 1 pliku". Możliwe przyczyny błędu: -podajesz złą lokalizację -lokalizacja jest dobra ale nie ma tam plików -nazwy...
Ciekawy pomysł :) Realizacja nie będzie raczej łatwa. Nie będę zanudzać formularzami użytkownika, więc od razu zapytam: A co z tymi nazwiskami po uzupełnieniu tabelki? Może skupić się na miejscu docelowym (InputBox, Split)?
Tak i to na kilka sposobów. Najprostsze, byłoby zadeklarowanie zmiennej globalnej typu Boolean, warunkowe uruchomianie procedury i makro z inputbox'em zmieniające stan zmiennej.
Witam, Przeszukałem forum, ale nie znalazłem rozwiązania. jestem nowym użytkownikiem VBA i nigdy wcześneij nie programowałem, ale skonstruowalem sobie program do faktur, wcześniej już ktos pomagał mi wyedytowac poprawnie kod, moze i tym razem ktoś oświeci mnie na przyszłość. Mam plik faktury, w którym po kliknięciu jedngo z przycisków, kolejno wyskakują...
[syntax=vb] Sub Generuj() Dim i As Integer Sheets("Liczby").Select Randomize For i = 1 To 4 Cells(2, i + 1) = Int(Rnd() * 30) + 15 'B2:E2 Next End Sub Sub CommandButton2_Click() Call Generuj Range("F20").FormulaLocal = "=SUMA(B2:E2)" Call Mnozenie MsgBox "Oto suma: " & Range("F20") End Sub Sub Mnozenie() Dim Mnoznik As Single, i As Integer Mnoznik =...
Spróbuj tak :D [syntax=vbscript]Sub m2() Dim s As Double t = InputBox("Podaj głębokość maksymalną [m]") Range("A2").Value = "Głębokość maksymalna:" Range("A2").EntireColumn.AutoFit Range("B2").Value = t x = 0 For s = 0 To t Step 0.2 Range("B6").Offset(x, 0).Value = s x = x + 1 Next s End Sub[/syntax]
To samo robiący kod, tyle że krótszy. [syntax=vbscript]Sub Drukowanie() i = InputBox("Numer wiersza") Set a = ActiveSheet Set b = Workbooks.Open(Environ("userprofile") & "\Desktop\Zeszyt2.xlsm") w = 2 For k = 1 To 5 a.Cells(i, k).Copy b.Sheets(1).Cells(w, k + 1) w = w + 1 Next ActiveSheet.PrintOut b.Close True End Sub [/syntax] Wklejam tutaj kod bo...
Yogi (przypominasz mi dzieciństwo) ;). Nie pamiętam, czy był to 'Zwierzyniec', czy też 'Ekran z bratkiem'. Ale autor napisał: potrzebuję makro A do Autora. Może ten kod będzie wygodniejszy (jest bez obsługi błędów, sam się pobaw): [syntax=vb]Sub Przenies() Dim d As Date, p As Date, k As Date ow = Cells(Rows.Count, "B").End(xlUp).Row y = Sheets("Arkusz2").Cells(Rows.Count,...
Po mojemu powinno działać coś takiego (nie testowane)[syntax=vb]Sub Przycisk1_Kliknięcie() Dim path1 As String, path2 As String, plik As String Dim folder As Object, pfolder As Object Dim dta1 As Date, dta2 As Date, nazwaMin As String, nazwaMax As String Application.ScreenUpdating = False path2 = "\\Serwer\test" Set folder = CreateObject("Scripting.FileSystemObject...
[syntax=vbscript]Sub Zawiera() Sheets("Arkusz1").Select a = InputBox("Podaj tekst do szukania: ", "Wyszukaj") ow = Cells(Rows.Count, "A").End(xlUp).Row y = 1 For x = 1 To ow If InStr(1, Cells(x, 2), a) > 0 Then Range(Cells(x, 1), Cells(x, 2)).Copy Sheets("Arkusz2").Range("A" & y) y = y + 1 End If Next End Sub [/syntax] Poniżej bez rozróżniania wielkości...
A jaki sposób mogę "masowo" stworzyć chekboxa dla 1200 pozycji Możesz spróbować tak: zaznaczyć odpowiedni zakres w kolumnie dla checkboxów, a następnie uruchomić makro: [syntax=vbscript]Sub InsertCheckBoxes() Dim Rng As Range Dim WorkRng As Range Dim Ws As Worksheet On Error Resume Next xTitleId = "Excel" Set WorkRng = Application.Selection Set WorkRng...
Data, jak już wspomniał JacekCz, to bardzo krnąbrny element Excel'a. Dla pewności, zamiast InputBox'a, podstawiłbym kalendarz. Wtedy bez względu na ustawienia w systemie, w arkuszu wyląduje Ci data. Pozostaje tylko sformatować komórki "dla oka".
Rozdziel ścieżkę i nazwy plików. Argumentem metody Open jest string, więc możesz podstawić ze zmiennych. Np Workbooks.Open sciezka & "\" & plik Gdzie wartość dla "sciezka" pobierana jest z komórki, inputbox'a, browsera, etc.
[syntax=vbscript]Sub ZnajdzDodaj() Set a1 = Sheets("Arkusz1") Set a2 = Sheets("Arkusz2") a = InputBox("Znajdź :", "Szukanie") owa2 = a2.Cells(Rows.Count, "A").End(xlUp).Row If Application.CountIf(a2.Range("A1:A" & owa2), a) > 0 Then MsgBox a & " istnieje już w bazie." Exit Sub End If owa1 = a1.Cells(Rows.Count, "H").End(xlUp).Row For x = 1 To owa1 If...
To może tak: [syntax=vbnet][/syntax] Sub Skanuj() ActiveCell = InputBox("tu coś wpisz") ActiveCell.Offset(1,0).Select End Sub [/syntax] To najprostsza wersja. Przed pierwszym skanowaniem ustawiasz kursor gdzie trzeba a potem miejsce będzie zmieniało się automatycznie. Chyba, że potrafimy jakoś określić to miejsca, to niczego nie będziesz musiał robić...
Wygląda na to, że słabo sprecyzowałem mój problem. Chodzi mi o to,że w momencie, gdy wyświetlona jest formatka z textbox'ami to nie mogę przesunąć arkusz, aby wyszukać dane do wpisania w te textbox'y. Podobnie mam w innym makro. Uruchamiam makro, pojawia się inputbox z poleceniem wpisania danych z arkusza. Jeśli akurat jestem w innej części arkusz,...
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)...
Jeśli jednocześnie to For ark = 1 To 2 With Sheets(ark) For i = .Cells(65536, "a").End(xlUp).Row To 2 Step -1 If .Cells(i, "a").Value = "" Then .Rows(i).Delete shift:=xlUp End If Next End With Next Jeśli uruchamiasz w pierwszym a usuwać ma w drugim to With Sheets(2) For...
Owszem to filtrowanie danych ale w żadnym wypadku nie powinno być powiązane z auto-filtrem, tym bardziej jak masz excel 2003 i poniżej. Tu masz kod. Tłumaczyć? [syntax=vb]Sub Makro1() Dim ostWrs As Long, x As Long Dim tekst As String, szukane As String ostWrs = Range("B" & Rows.Count).End(xlUp).Row tekst = InputBox("Podaj szukany ciąg", "Podaj szukaną")...
Witam [syntax=vb] Sub podzial_pliku() Dim kol As String Dim wiersz As Integer Dim nazwa As String Dim ark As Worksheet kol = InputBox("Podaj litere kolumny na podstawie ktorej nastapi podzial plikow", "Pytanie") wiersz = InputBox("Podaj numer wiersza od ktorego zacznie sie podzial plikow", "Pytanie") Range(kol & wiersz).Select Set ark = ActiveSheet...
Ja bym zrobił tak, że po wpisaniu nazwy urządzenia wyskakuje okno gdzie podajsz ilość pobrania lub oddania. With Target If .Address(0, 0) = "E2" Then Application.EnableEvents = False ilosc = InputBox("Ile pobrano?") If .Value <> Empty Then On Error Resume Next wrs = Columns(1).Find(what:=.Value, lookat:=xlWhole).Row Err.Clear If wrs <> Empty...
Może spróbuj przez podstawianie formuł. Makro przetestowałem na arkuszu "Zmiana N". Jeśli to jest to, to masz już z górki.[syntax=vb]Sub Proba() For j = 6 To 10 Step 2 zmF = InStr(Cells(3, j).Formula, "KW") zmF = Mid(Cells(3, j).Formula, zmF, 4) zmR = InputBox("W kolumnie " & j & " " & zmF & " zamienić na:", "podaj symbol") If zmR <>...
Excel wyświetlał MsgBox To się nazywa InputBox. W załączniku numerowanie FV.
gdyż mam makro które tworzy mi CSV Napisałem na szybko takie coś: [syntax=vb] ''' <summary> ''' Zapisuje bierzący arkusz do pliku CSV ''' </summary> Sub SaveCSV() Dim R As Range Dim cmax As Integer Dim rmax As Integer Dim srow As String Dim fname As String cmax = Excel.ActiveSheet.UsedRange.Columns.Coun... rmax = Excel.ActiveSheet.UsedRange.Rows.Count.....
Najłatwiej: podstawić zmienne pobrane z InputBox'ów. Tu masz wybór: -przypisanie ich przed pętlą 'For k' - dla wszystkich dni równo (prościej) -przypisanie wewnątrz - indywidualnie dla każdego dnia. Np [syntax=vb]Sub Ele() For k = 0 To 1 'dzis =Date - k 'nadmiar Data = Date - k a = InputBox("od -liczba 0-23", "dla " & Format(Data, "dddd") & " " & Data)...
Ja to widzę jakoś tak (zakładam, że komórka B1 to numer i jest złożony tylko z cyferek, wydruk na drukarkę domyślną bez pytania, strony od 1 do 1): [syntax=vb]Sub Makro1() Dim x As Integer x = Val(InputBox("Podaj liczbę kopii", "Liczba kopii", 1)) If x = 0 Then Exit Sub While x > 0 ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1 Range("B1").Value...
Z pierwszego: dim adres 'pobieranie scezki adres = InputBox ("Podaj sciezke", "Wprowadzenie danych") katalog = adres dim w ' Uruchomienie Excela set w = createobject("Excel.application") w.visible = w.Workbooks.add ' Utworzenie nowego dokumentu Set MyFiles = CreateObject("Scripting.FileSystemObject... Set Folder = MyFiles.GetFolder(katalog) Set WszystkiePliki...
Tak jak już napisał Maciej Gonet bez załącznika to trochę wróżenie z fusów, ale spróbuj dostosować do Twojego pliku taki kod: [syntax=vb]Sub TrzyOstatnieDni() Dim rRng As Range Dim lLstRw& Dim sData$ Dim dData As Date sData = InputBox("Podaj Datę w formacie dd/mm/rrrr):") sData = Format(sData, "dd/mm/yyyy") dData = CDate(sData) lLstRw = Cells(Rows.Count,...
Tu masz ciastko[syntax=vb]Sub popraw_nazwe() Dim nazw As Range Set nazw = Sheets("baza").Range("A:B") With Sheets("tabela") For r = 2 To Application.CountA(.Range("A:A")) zla = .Cells(r, "A") If Application.CountIf(nazw, zla) = 0 Then dobra = InputBox(zla & " nie zostal odnaleziony" _ & vbCr & " w bazie danych", "Wpisz odpowiednia wartosc", "USD") r...
Spróbuj to [syntax=vb] Sub Porzadkuj() x = InputBox("Podaj datu", "Data przyporziadkowania", Date) If Not IsDate(x) Then Exit Sub x = DateValue(x) Dim nazwy As Range, d As Range With Sheets("pivot") Set nazwy = .Rows(3) Set d = .Cells.Find(x, LookIn:=xlValues) If d Is Nothing Then Exit Sub Set d = d.EntireRow.Cells For Each sh In ThisWorkbook.Sheets...
Chyba łatwiej zrobić dwuklik na wierszu, z którego chcesz kopiować. Równocześnie uruchamiasz makro i wskazujesz wiersz. Możesz też się upewnić, czy to właściwy wiersz. Oczywiście można też wstawić tam InputBox, tylko wtedy jak chcesz uruchamiać to makro? Jeśli chodzi o moją propozycję, to komórki docelowe wypisujesz po kolei jako adresy obiektu Range:...
[syntax=vbscript]Sub Cos() a = InputBox("Podaj numer: ", "Numerki") If Not IsNumeric(a) Then MsgBox "Oczekiwano numer." Exit Sub End If ow = Sheets("111").Cells(Rows.Count, "A").End(xlUp).Row m = Application.Match(CDbl(a), Sheets("111").Range("A1:A" & ow), 1) If Not IsError(m) Then b = Sheets("111").Range("B" & m) Sheets(b).Range("A1:E20").PrintOut...
: ) ... a z właściwej strony tam zaglądasz ... : ) ? ... np. z ustawieniami "na sztywno": [syntax=vbscript]Sub abc() Dim msc, mscS$, schmt$, otwarty As Object msc = Trim(InputBox("Wprowadź numer miesiąca z przedziału 1-12", "Podaj miesiąc", "1")) msc = Abs(Fix(Val(msc))) If msc < 1 Or msc > 12 Then Exit Sub mscS = Choose(msc, "Styczeń", "Luty",...
ale niestety wsztstkie dane musza być pisane w ciągu a program sam musi rozdzielac dane. Np. ul./ al./ ulica / aleja daty wpisane w innych formatach itp. Tak jak pisałem w takim przypadku pokombinuj z funkcjami InStr, Mid, Len aby rozdzielić ciąg znaków po wybranych separatorach. Najlepiej przypisz sobie to co podzielisz do zmiennych. Później przy...
Według mnie, a mogę się mylić, nieprawidłowo używasz argumentu. 'SubAdres' musi być String, nie może reprezentować obiektu. Pod adres podstawiasz:"C:\Documents and Settings\slawomir.kozak\Pulpit\gnom.xls" Pod SubAdres powinno być Np: "Arkusz1!A1" z InputBox'a (rng as String) rng = Application.InputBox(prompt:=&qu... komórke")...
A nie powinno być: a = InputBox ("podaj ilość wierszy")
DIM skad_zaczac AS range skad_zaczac = InputBox("od którego pola zacząć?")
Hmm, zdaje się, że instrukcja warunkowa nie jest potrzebna. Może takie coś? [syntax=vbscript]Dim val_ As String, rng1 As String, rng2 As String val_ = InputBox("0,4 lub 0,6", "wpisz wartość mnoznika") rng1 = InputBox("wartość1", "wpisz adres komórki 1") rng2 = InputBox("wartość2", "wpisz adres komórki 2") ActiveCell.Formula = "=IF(AND(" & rng1 & ">0,"...
"Nie działa" bo okienko inputbox'a pomimo tego że wpiszesz cyfry/liczbę zwraca ją jako tekst . Wstaw za kodem: W takim rozwiązaniu jeżeli liczbowa nazwa asortymentu będzie równa starej cenie to nazwa takiego asortymentu też zostanie zamieniona na nową cenę. edit: ----------------------------------------... Dla zasady poprawności kodu zmień w deklaracji...
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...
Zdaje się, że nie wpisałeś path (koniecznie w cudzysłowach) w linii [syntax=vb]Set dirObj = MergeObj.Getfolder("tu ścieżka do plików, filedialog lub inputbox")[/syntax]
Obszar = InputBox("Podaj obszar kopiowania danych", "Obszar danych", "A1:K10") Przed petlą For
Hmm. Ciekawe. To skorzystaj z inputa. np.: plik = InputBox("PODAJ ŚCIEŻKĘ DO PLIKU") lub tak jak chciałeś wcześniej z komórki.
Aaa. Tak to mniej więcej (po mojemu) powinno wyglądać. Z uwagi na późną porę nie testowałem. Sprawdź, dopracuj... [syntax=vb]Sub Makro1() m = 1 ile = Int(InputBox("podaj liczbę", "Liczba od 1 do 3", 3)) For i = 0 To IIf(ile >= 1, 1, -1) Step 0.1 For j = 0 To IIf(ile >= 2, 1, -1) Step 0.1 For k = 0 To IIf(ile >= 3, 1, -1) Step 0.1 If i + j + k = 1 Then...
abym mógł nazwę pliku zmodyfikować na własną? Można np. tak :idea: nazwa :D
[syntax=vbnet]Sub Dodaj() Cells(Cells(Rows.Count, "A").End(xlUp).Row, 1) = InputBox("Podaj dane:", "UWAGA") End Sub[/syntax]
Zamiast Range("A1") można użyć komórki zaznaczonej (Selection), a po wpisaniu danych przesunąć zaznaczenie np. Selection.Offset(1,0).Select. Jest to oczywiście tylko jedna z możliwości. Przykład załączony, ale trzeba go dopasować, ja użyłem funkcji InputBox, bo podany fragment kodu jest wyrwany z kontekstu.
Chciałbym też dodać do tego makra zasadę, aby akceptowało przy wyszukiwaniu max 10 znaków. Jak wpiszesz więcej niż 10 to dostaniesz komunikat.(zrezygnowałem z jednego if-a bo anulowanie inputboxa przejmie xFRg) [syntax=vbscript]Sub FindRange() 'UpdatebyArekD2022 Dim xRg As Range Dim xFRg As Range Dim xStrAddress As String Dim xVrt As Variant xVrt =...
np: [syntax=vba]Option Explicit Sub bbb() Dim w As Long Sheets("Historia_ZLEC").Select On Error Resume Next w = Columns(4).Find(What:="kierowca", LookAt:=xlWhole).Row On Error GoTo 0 If w = 0 Then MsgBox "Nie znaleziono", vbOKOnly, "Uwaga": Exit Sub If Cells(w, 6).Value = "NIE" Then Range(Cells(w, 4), Cells(w, 6)).Select Else MsgBox "Nie znaleziono",...
W tym przypadku trzeba sprawdzać po kolei. String dla porównania należałoby składać z litery (A-Z, wg. potrzeb, lub z InputBox'ów) i liczby (1-999), wypełniając zerami do długości 4 znaków. Dwie zagnieżdżone pętle For i metoda Range(zakres).Find(argumenty) . Jeżeli wyszukiwanie zakończy się błędem (Err>0), mamy wolny...
Poszerzając jeszcze to, co napisał clubs w VBA istnieje zarówno funkcja InputBox, wywoływana wprost, ale również metoda InputBox wywoływana z prefixem Application. Służą właściwie do tego samego, ale ich działanie nieco się różni. Funkcja zwraca wynik zawsze w postaci tekstu i nie jest zlokalizowana (np. na przycisku jest Cancel po angielsku). Metoda...
Witam, mam pewien problem, którego samodzielenie nie potrafie rozwiązać. Mam w arkuszu excela w jednym wierszu, w poszczególnych komórach daty, które odpowiadaja poszczególnym datą reprezentujacycm soboty, niedziele i swieta w danym roku kalendarzowym. W te dni pracuje pewna grupa pracowników. Pod każda data zaznaczam, czy pracownik pracował, czy tez...
[syntax=vbscript]Sub Data() ' ' Data Makro ' 10 myday = InputBox("Podaj dzień.") If myday <> "" Then If IsNumeric(myday) Then Selection.FormulaR1C1 = myday Else MsgBox "Nie podales dnia." GoTo 10 End If End If 20 mymonth = InputBox("Podaj miesiąc.") If myday <> "" Then If IsNumeric(mymonth) Then Selection.FormulaR1C1 = mymonth Else MsgBox...
Za mało danych, np. czy odległości będą posortowane (malejąco, rosnąco), czy też nie, czy podawać w wyniku tylko jedno sparowanie odległości-miasta, czy też wiele, itd. Dziekuje za odpowiedz. Nie, odleglosci nie sa posortowane. Miasta sa rowniez wpisane losowo. W wyniku chcialabym zeby kazde miasta z dana odlegloscia wyswietlaly sie osobno, tj.Wroclaw-Berlin...
Najprościej wykorzystać MsgBox i InputBox. Procedura wg schematu: If MsgBox("czy jest to kolejny protokól z serii", vbQuestion + vbYesNo) = vbYes Then Cells(wiersz, kolumna) = WorksheetFunction.Max(zakres) + 1 Else Range(zakres).Find(What:... podać Nr protokołu"), LookAt:=xlWhole).Select...
Nie próbujesz nawet realizować sugerowanych najprostszych rozwiązań :cunning: Wszyscy, którzy mają jakiekolwiek doświadczenie z VBA doskonale wiedzą co to znaczy nagrywania makra :D Chodzi o utworzenie samodzielne np takiego makra: [syntax=vbscript]Sub Makro1() ' ' Makro1 Makro ' ' Klawisz skrótu: Ctrl+s ' altStr = InputBox("Fraza do wymiany?", "Zamień...
Na pierwszym arkuszu umieszczamy listę Combo. Żeby wyświetlić listę arkuszy można to zrobić w makro, które ładuje listę Combo przy otwarciu skoroszytu, w obsłudze zdarzenia Workbook_Open: [syntax=vb] Option Explicit Private Sub Workbook_Open() Dim iWiersz As Integer Dim ws As Worksheet iWiersz = 1 'Utwórz listę arkuszy w pierwszym arkuszu od drugiego...
Nie pisałeś wcześniej, że będziesz latał z datą po arkuszu jak "przedstawiciel mniejszości narodowej po pustym sklepie. Użyj drugiej procedury z mojego postu. Do uzupełnienia daty możesz wykorzystać którąkolwiek komórkę arkusza wpisując do niej to co jest w cudzysłowie. Można też wykorzystać InputBox. Tak na marginesie to pomysł z 31 lutym to chyba...
Dzięki Clubs, Zrobiłem coś takiego ' Pokazanie okna do wprowadzanaia wartości Range("A2").Value = InputBox("Podaj datę paragonu") Range("B2").Value = InputBox("Podaj kwotę paragonu") Range("C2").Select KategorieWydatków.Show Range("D2").Value = InputBox("Wybierz podkategorię paragonu") Range("E2").Value = InputBox("Uwagi") W odpowiednim miejscu wyskakuje...
excel inputbox inputbox excela dodawanie inputbox
elektronika dysku seagate tecumseh regulator wymiana toner
komora spalania atego przerywa
Scania Highline 3 osie – bezpiecznik czujników parkowania, PDC, lokalizacja, modele CEU/P-Box Samsung SSD - Przyczyny i rozwiązania przegrzewania