Sprawdź, może będzie według twoich założeń ... wydaje się, że działa według opisu, który zamieściłeś. 865000
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 .
Zerknij [url=http://www.cpearson.com/excel/vbe.a...
A nie wystarczy sprawdzanie poprawności danych - opcja pełna liczba i podać zakres od 0 albo od 1 do ile potrzeba. Jeśli dane wprowadzane z klawiatury i użytkownik nie jest złośliwy, to powinno wystarczyć. Co innego jeśli dane są kopiowane z innych komórek, wtedy ten mechanizm nie działa. Wstawiłem do A1. Komunikat MsgBox można wyświetlić przy zmianie...
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]
Niestety powyższe skrypty tego nie rozwiazuja Bo to są przykłady, a nie rozwiązania. Ciężko przerobić A na C i 5 na 60? [syntax=vbscript]Private Sub Workbook_Open() Dni = 30 MsgBox "Promocje kończące się za " & Dni & " dni: " & Application.CountIf(Range("C1:C" & Cells(Rows.Count, "A").End(xlUp).Row), "=" & Dni) Dni = 60 MsgBox "Promocje kończące się...
Zamiast MsgBox ("1")
A powinno... Makra masz włączone?
Office dobrze działa.:) [syntax=vbscript]Sub Sayhello() Msg = "Czy nazywasz się " & Application.UserName & "?" Ans = MsgBox(Msg, vbYesNo) If Ans = vbYes Then MsgBox "Jestem Jasnowidzem!" Else MsgBox "Nic się nie stało" End If End Sub [/syntax] Tak jest czytelniej.
mogło by być komunikat że nieaktualna wersja Zamiast ThisWorkbook.Close False Wpisz MsgBox "Nieaktualna wersja"
makro stworzyłem poprzez nagrywanie. Poprzez nagrywanie makra nie ma możliwości, żeby Excel dodał MsgBox. [syntax=vbscript]ActiveWindow.Close False[/syntax]
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
Spróbuj albo tak: [syntax=vbscript]MsgBox "To jest bardzo długi tekst " & _ "I ciąg dalszy " & _ "i dalszy " & _ "i dalszy..."[/syntax] albo tak: [syntax=vbscript]MsgBox Range("A2").Text[/syntax]
[syntax=vb] If ostatniwiersz <> 24 Then MsgBox "W arkuszu jest " & ostatniwiersz & " wierszy" [/syntax]
Witam, Jak mogę zapisać kod w VBA abym po wypełnieniu formularza otrzymał jeden kompletny MsgBox? Formularz składa się z kilku ramek a w nich kilka optionbutton, combobox, itp. W tej chwili wyskakuje mi kilka MsgBoxów stworzonych poprzez If, ElseIf a chciałbym aby te wszystkie dane wyświetlały mi się w jednym MsgBoxie po wciśnięciu przycisku akceptującego...
Witaj [syntax=vb] '...... If Szukaj_dalej = True Then 'Tu właśnie jest problem szukaj dalej to..... Exit Do Else '..... [/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
Dzięki za pomoc. Jeszcze jedno pytanko. Czemu VB nie pozwala na dwie procedury -w jednym arkuszu-uruchamiane przy tym samym zdarzeniu? Może to głupie pytanie ale dopiero uczę się programowania w VB.
Jeśli datę zapisujesz w komórce, to może okazać się, że to nie taka prosta sprawa. W innym przypadku spróbuj podmienić separator. Np [syntax=vb]jakasData = Date If Application.International(xlDateSeparato... <> "." Then jakasData = Format(jakasData, "dd.MM.yyyy") End If MsgBox jakasData[/syntax]
Excel wyświetlał MsgBox To się nazywa InputBox. W załączniku numerowanie FV.
Jak wyżej. Porównaj datę z systemową[syntax=vb]If Date < #7/17/2012# Then 'format USA: mm/dd/rrrr 'makro 'jeszcze tylko dziś Else MsgBox "komunikat" End If[/syntax]
O Benek:) Jeżeli 'aktywujesz' to dopisz sobie [syntax=vbscript]MsgBox Cells(Rows.Count, ActiveCell.Column).End(xlUp).Row[/syntax...
Jesli naprosto usunuc - tak, a jesli zamiast 2 MsgBox If odp=vbYes ??
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]
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]
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]
[syntax=vbnet]Sub test() Lst = Array(1, 4, 9, 10, 11) For Each k In Lst MsgBox Str(k) Next End Sub[/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]
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]
Wypróbuj coś takiego, ew. przerób do własnych potrzeb: [syntax=vb]IsValid = True For Each ctrl In UserForm1.Controls If TypeName(ctrl) = "TextBox" Then If ctrl.Text = "" Then IsValid = False End If End If If TypeName(ctrl) = "ComboBox" Then If ctrl.ListIndex < 0 Then IsValid = False End If End If Next ctrl If IsValid Then MsgBox "OK" Else MsgBox...
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]
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...
Kolega wrzuci na koniec :[syntax=vbnet] dim a as integer a= MsgBox(CStr(Time), vbOKOnly) [/syntax]
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]
Funkcja 'Find' jest tak samo szybka/wolna jak pętla. Dlatego najprościej [syntax=vbscript]b = 2 w = Cells(Rows.Count, 4).End(xlUp).Row Do While b <= w If Cells(b, 4) = kierowca And Cells(b, 6) = "NIE" Then Exit Do b = b + 1 Loop If b < w Then MsgBox "znaleziono w wierszu " & b Else MsgBox "nie znaleziono" End If[/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.
Za pomocą MsgBoxa tego nie zrobisz, musisz zaprojektować własną UserFormę z poziomu edytora VBA. Później, w kodzie VBA robisz po prostu: [syntax=vb]UserForm1.Show[/syntax]
Chcesz znać wartość ostatniej danej? To po prostu wartość ostatniej komórki w kolumnie: [syntax=vbscript]MsgBox Cells(Cells(Rows.Count, "A").End(xlUp).Row, "A").Value[/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
Czy 'txtPDF_List' to twój 'textbox'? Jeżeli tak to ominiemy ten 'klipbord' [syntax=vbscript]Private Sub cmdList_Click() With txtPDF_List If .Text <> "" Then .SelStart = 0 .SelLength = .TextLength .Copy MsgBox "Skopiowano nazwę dla listu przewozowego " & txtKURIER & ": " & Chr(10) & _ txtPDF_List, vbInformation, "Kopiowanie" Else...
Słowem: korekta OstW (walek33) i UserForm zamiast MsgBox (marek003)...
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
-> art_o Aby odczytać wartość komórki, która jest aktywna (zaznaczona), możesz użyć kodu: Private Sub CommandButton1_Click() MsgBox "Wartość aktywnej komórki " & ActiveCell.Value End Sub Pozdrawiam, Kuba
Istnieje właściwość, którą można wykorzystać do Twoich celów. Np MsgBox Range("B2").Formula Zwraca formułę w postaci tekstu, w angielskiej wersji Excela.
[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 =...
Dołóż dodatkową instrukcję warunkową:[syntax=vb]With Frame15.Controls("cmbKomPL") If Len(.Text) = 9 Then If .Text <> Empty Then On Error Resume Next .Text = Format(cmbKomPL.Value, frmPL) End If Else MsgBox "Komunikat", vbExclamation, "tytuł" End If End With[/syntax]
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]
Witam [syntax=vbscript]Sub dodaj() a = Split(Range("A1"), Chr(10)) For c = 0 To UBound(a) Suma = Suma + Val(a(c)) Next MsgBox Suma End Sub[/syntax] albo [syntax=vbscript] Sub dod MsgBox Evaluate(Replace(Trim(Range("A1")), Chr(10), "+")) 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]
[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]
zobacz to (dodałem jeszcze opcje z wykluczeniem błędu ListIndex) [syntax=vb]Private Sub A1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) On Error GoTo koniec If KeyCode <> 13 Then Exit Sub With Szychtownica .lstPracownicy.ListIndex = .lstPracownicy.ListIndex + 1 KeyCode = 0 .A1.SelStart = 0 .A1.SelLength = Len(.A1.Value)...
mozliwe, że jest, ale ma sie odwoływać nie do jednej stałej komórki jak "AK3", tylko do komórki poprzedzającej, to jest tylko fragment poniższej procedury. Za chiny nie wiem jak wyciągnąc wynik z "podfolder", reszta działa. Sub Przycisk38_Kliknięcie() Dim Sciezka As String Dim NazwaPliku As String Dim podfolder As String Sciezka = "\\DEP_Handlu\Dane_zamowienia\"...
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
Dla małej ilości danych dwie pętle For Each się sprawdzą (kod do ewentualnej przeróbki): [syntax=vb]Application.ScreenUpdating = False Worksheets("Wynik").Cells.ClearContents With Worksheets("Baza") For Each k In .Range("B7:IV7") If UCase(k.Value) = "X" Then ost_wiersz = .Range("A65536").End(xlUp).Row poz = 2 For Each w In .Range(.Cells(9, k.Column),...
:) [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),...
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? Dodano po 31 Cześć, Udało mi się, jakby ktoś miał podobny...
[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]
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]
[syntax=vb]Dim ObjXL As Object, xlWkBk, StrWkBks As String ' Test to see if there is a copy of Microsoft Excel already running. On Error Resume Next Set ObjXL = GetObject(, "Excel.Application") If Err.Number <> 0 Then MsgBox "No Excel Files are open (Excel is not running)" Exit Sub End If For Each xlWkBk In ObjXL.Workbooks StrWkBks = StrWkBks...
Oj, bo nie doczytałem. Chcesz usuwać dane z H,I,J,K, zostawiając formułę w L. To wykorzystaj SelectionChange w kolumnie P, gdzie widać tekst "Dodaj". [syntax=vb]Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 16 And Target.Value = "DODAJ" Then MsgBox Target.Row End If End Sub[/syntax]
Może być coś takiego wklej to ThisWorkbook [syntax=vbscript]Private Sub Workbook_BeforePrint(Cancel As Boolean) If Range("B6") = "" Then MsgBox "Blokada wypełnij B6" Cancel = True Else Cancel = False End If End Sub[/syntax]
[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...
A co jest przechowywane w a? znaczy się mychą coś zaznacza i dopiero puszczasz makro? a = Selection.Row ? Moja porada to za pomocą komendy msgbox wyświetlaj sobie na bierząco czy masz właściwą ścieżkę przechowywaną w "strName" po każdej modyfikacji rób: Msgbox strName Chyba wiem w czym tkwił błąd. Zapomniałeś jednego shesha:) strName = strPath & "\"...
Hmmm, w takim razie proszę: http://support.microsoft.com/kb/q166008/ Działa na 100% Wystarczy zaadaptować do swoich potrzeb. A poniżej nieco inny wariant:[syntax=vb] Sub Drukarki() Dim WshNetwork As Object Dim oPrinters As Variant Dim strPrinterList As String Dim i As Integer Set WshNetwork = CreateObject("WScript.Network") Set oPrinters = WshNetwork.EnumPrinterConnections...
[syntax=vbscript] Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal lpszConnectionName As String, ByVal dwNameLen As Integer, ByVal dwReserved As Long) As Long ' Public Function IsInternetConnected() As Boolean Dim strConnType As String Dim lngReturnStatus As Long IsInternetConnected = False lngReturnStatus...
Wykonaj na końcu procedury: [syntax=vbnet]MsgBox szSql[/syntax]
[syntax=vb]Worksheets("Arkusz2")[/syntax... albo [syntax=vb]Worksheets(2)[/syntax] albo [syntax=vb]Sheets("Arkusz2")[/syntax] albo [syntax=vb]Sheets(2)[/syntax] Każde z powyższych można poprzedzić klasą ThisWorkbook. Jeżeli odwołujesz się do jakiegoś arkusza wielokrotnie, a chcesz skrócić zapis: [syntax=vb]Set ark2 = ThisWorkbook.Worksheets("Arkusz2")...
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...
Proszę bardzo: [syntax=vb]Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI Then MsgBox "Zapis do innego pliku nie jest możliwy!", vbInformation Cancel = True End If End Sub[/syntax]Oczywiście można po cichu, bez Msgbox...
W poście niżej masz to opisane Ale tu zrobiłbym ciut inaczej, Np [syntax=vb]Sub otworz() 'otwieranie pliku z okna dialogowego z filtrem Dim fd As FileDialog Dim wkb As Workbook Set fd = Application.FileDialog(msoFileDialogFile... With fd .InitialFileName = "H:\CCC\ccc\" .Filters.Clear .Filters.Add "Pliki Excel", "*.xl*; *.xls*" .AllowMultiSelect...
[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]
po komunikat = suma1 dodaj Dodano po 2 Wtedy 'Function formatowanie' odpada
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]
Coś takiego? [syntax=vbnet] Sub ws() Dim WskazFolder As String Dim Okno As FileDialog Dim Wybrane As String Set Okno = Application.FileDialog(msoFileDialogFold... Okno.Title = TytulOkna Okno.ButtonName = TytulPrzycisku Okno.Show If Okno.SelectedItems.Count > 0 Then Wybrane = Okno.SelectedItems.Item(1) MsgBox (Wybrane) 'Workbooks.Open (Wybrane...
A może inne "oszustwo".
Makra włączone? Może problem z nazwa/indeks. Spróbuj Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo byk If Target.Column = 1 Then Sheets(Trim(Str(Target.Row... = Target.Value End If Exit Sub byk: If Target.Value <> "" Then MsgBox "Brak arkusza o...
Jedynie jak zaznaczę niechcący więcej jak jedną komórkę i wprowadzę jakiekolwiek dane to po potwierdzeniu wyskakuje błąd: Podmień [syntax=vbscript]Dim s As Variant Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1:A10")) Is Nothing Then If Target = "" Then Exit Sub Application.EnableEvents = False If Left(Target,...
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'
chce żeby wyświetlił się msgbox lecz nie zatrzyma on czytania kodu Taka już rola MsgBox'a , żeby zatrzymywał i czekał na decyzję użytkownika. jak powstrzymać otwieranie nowego arkusza jak jego nazwa się powtórzy?? Excel z pewnością nie pozwoli na dublowanie nazw arkuszy. Jeśli chodzi o nadawanie nazw musiałbyś najpierw wykonać porównanie i dopiero...
Witam, jak odczytać Wartość2 z takiego xml: <Element ReferenceID = "wartość1">WARTOŚĆ2</Element> wartość1 nie ma problemu: xmldoc.attributes.getnameditem("Referenc... Jak masz takiego XMLa: [syntax=html]<?xml version="1.0" encoding="UTF-8"?> <products> <Element ReferenceID = "wartość1">WARTOŚĆ1</Element> <Element...
Powiedz im, że tak się nie robi. To nie Excel. Przykładowy kod przycisku 'Dodaj fakturę'. [syntax=vbscript]Private Sub DodajFakture_Click() inf = MsgBox("Dodać fakturę?", vbYesNo, "UWAGA") If inf = vbYes Then If DCount("[IdFaktury]", "Faktury") = 0 Then nr = "1/" & year(Date) Else DoCmd.GoToRecord , , acLast nr = Me.NumerFaktury nr = Val(Left(nr, InStr(1,...
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...
A nie wystarczy coś takiego? [syntax=vb]Sub reversja() Dim strOrg As String Dim strRev As String strOrig = Arkusz1.Cells(1, 1).Value strRev = CDate(strOrig) MsgBox "Orig = " & strOrig & vbCr & "Rev = " & strRev End Sub[/syntax]
Makro wykonujące obydwie czynności może wyglądać np. tak: Private Sub CommandButton1_Click() poprz_wartosc = Empty For Each c In ActiveSheet.Range("C1:C6553... 'tu można zawęzić przeszukiwany zakres If c = "dolek" Then ActiveSheet.Cells(c.Row, 4) = poprz_wartosc If Not IsEmpty(poprz_wartosc) And...
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...
Jeśli ma być odwrotnie, to pozamieniaj w kodzie "A" z "B" Też zadziała, ale... Edit: Jeśli powtarza sie wiele razy lepiej Sub UsunPowt() licz = 0 For i = 1 To Cells(Rows.Count, 2).End(xlUp).Row licznik = 0 For Each kom In Range("A:A") If kom.Offset(-licznik, 0) = "" Then Exit For If Cells(i,...
[syntax=vbscript]MsgBox Me.Controls("TextBoxNrZl" & t).Value[/syntax]
Na przyszłość: spakuj plik i zrezygnuj z prowizji :) Zauważyłem za późno (-4pkt)... Problem w tym, że w arkuszu 1 masz 14185 CheckBox'ów (większość jeden na drugim) policzyłem makrem Sub policz() MsgBox Sheets("Arkusz1").Shap... End Sub w ostatnim wierszu z "ręcznym" usuwaniem dałem spokój na 50-tym...
Hmm, ja mam 2007. Może Environ źle zwraca. A co pokaże w msgbox Environ("USERPROFILE") Może spróbuj ze sztywną ścieżką. U mnie: "C:\Users\Adam\Desktop\Zeszyt1.pdf" podstawiam "C:\Users\Adam\Desktop\" & Range("e5") & ".pdf" PeDeEfa masz zamkniętego oczywiście?
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
Mam jeszcze jedno pytanie czy da się do makra które wklejam poniżej a służy do usuwania nieodfiltowanych wierszy, dodać opcje żeby usuwane wraz z nieodfiltrowanymi wierszami były też znajdujące się w tych komórkach grafiki? W każdej z tych grafik mam zaznaczoną opcję: "przenoś i zmieniaj rozmiar wraz z komórkami" ale nic to nie daje i grafiki, pomimo...
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"
Problem może i prosty, ale niekoniecznie dla kogoś zupełnie zielonego w temacie baz danych... :) Access to baza danych, a z bazą danych pracuje się zupełnie inaczej, niż z arkuszami w VBA. Nie masz tam arkuszy, tylko tabele. Tabele składają się z kolumn i wierszy, zwanych też rekordami. Kolumna musi być danego typu - może przechowywać tylko np. wartości...
Gotowanie dobrą kawę? (na zdjęciu) [syntax=vb] Private Sub P_zapis_baza_Click() Dim r&, i& If Application.CountA(Range("frm")) = 11 Then With Sheets("baza") r = Application.Match(Cells(2, 2), .Columns(2), 0) For Each c In Range("frm").Cells i = i + 1 .Cells(r + Cells(2, 1), i + 1).Value = c.Value Next End With Range("frm").ClearContents Else MsgBox...
Dopisałem informowanie w MsgBox o numerach identyfikatorów usuniętych wierszy: [syntax=vb] Sub Mania() Dim ws As Long, wDel As Long Dim usuniete As String ws = 1 usuniete = "" With Sheets("Arkusz1") Do While .Cells(ws, 1) <> "" On Error Resume Next wDel = Sheets("Arkusz2").Columns(5).Find(what:=... 1), lookat:=xlWhole).Row If Err = 0 Then...
Fajna Szkoła może by pójść tam na uzupełniające ...hmmm ... wracając do tematu Sub iloczyn() Dim iloczyn As Integer liczba = InputBox("podaj liczbę") ilosc = Len(liczba) iloczyn = 1 For i = 1 To ilosc cyfra = Mid(liczba, i, 1) iloczyn = iloczyn * cyfra Next i MsgBox iloczyn End Sub a po co jest to k ? żeby przez...
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...
Należałoby przeszukać sąsiadów w wierszu "wierszkontrahenta"... Taki efekt: http://obrazki.elektroda.pl/8119171000_1... uzyskałem przy pomocy [syntax=vb]Sub Szukaj() ilekontrahentow = 20000 ListaFirm = "nazwisko" 'symulacja wartości pola tekstowego wiersz = Worksheets("KONTRAHENT").Range("B3", "B" & ilekontrahentow) _ .Find(what:=ListaFirm,...
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]
Ad 3. Mniej więcej taki kod: [syntax=vbnet]Dim fdSaveFile As FileDialog Dim vSaveFolder Set fdSaveFile = Application.FileDialog(msoFileDialogFold... With fdSaveFile .AllowMultiSelect = False .Show vSaveFolder = .SelectedItems(1) End With ActiveWorkbook.SaveAs vSaveFolder & "\" & ActiveSheet.Range("B2").Value & "__" & Format(Now, "dd_mm_yyyy__hh_mm"),...
excel makro msgbox funkcja msgbox msgbox petla
sterownik ekran nvidia windows ustawienie anteny warszawa philips ustawić godzina
Sterownik do fotela wypoczynkowego - naprawa i wymiana Samsung SCX 3200 - Połowa strony drukuje się na czarno