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ć...
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"...
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...
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
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"....
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...
: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, ";")...
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.
Jest X=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]
) 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...
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...
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]
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,...
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...
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...
excel inputbox inputbox excela dodawanie inputbox
zmiana natężenie ładowarka wkrętarka słaby ładować układ parkowania
tester rezonatorów kwarcowych korepetycje programowania
Naprawa stacji dyskietek NEC FD1231H: Diagnostyka i konserwacja Stacja dyskietek NEC FD1231H - błąd odczytu danych