[syntax=vbscript] On Error GoTo SubStop For Each Sheet In Worksheets Sheet.Test Next Sheet SubStop: On Error GoTo 0[/syntax]
także wszystko powinno działać No właśnie nie. Co do twojego kodu to jak chcesz to [syntax=vbscript]Sub Makro_K() On Error Resume Next Range("I20:O119").SpecialCells(xlCellTyp... = "=IF(R9C4=R18C,""X"","""")" End Sub[/syntax]
Uruchomiłem excela, utworzyłem takie makro i w linijce: For i = to 10 Wyświetla mi błąd: Compile error: Syntax error
Dla kodu [syntax=vbscript]Sub Makro1() Dim Fn As String, Wb As Object Fn = Dir("D:\abc\*.xlsx") Do While (Fn <> "") set Wb=Open(Fn) Sheets(2).Select Fn = Dir Range("A1").Select ActiveCell.FormulaR1C1 = "test" Loop End Sub[/syntax] w linijce [syntax=vbscript]set Wb = Open(Fn)[/syntax] wyskakuje Compile error: syntax error
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...
Może przez szukanie w pętli z wykorzystaniem obsługi błędu. Np[syntax=vb]On Error Resume Next Do While Err = 0 kol = Rows(1).Find(what:="MSISDN", lookat:=xlWhole).Column kol = Rows(1).Find(what:="Kod Sprzedawcy", lookat:=xlWhole).Column Columns(kol).Delete Loop[/syntax]
Sprawa 1 Trochę niejasna. Czy chcesz sformatować w arkuszu komórkę Cells(x, "S") jako walutową, czy chcesz taką sformatowaną wartość dołączyć do wiadomości, czy jedno i drugie? Bo to są rzeczy niezależne. Jeśli sformatować w arkuszu, to kod: [syntax=vbscript]Cells(x, "S").NumberFormat = "#,##0.00 zł"[/syntax]lub ręcznie. Jeśli chcesz sformatować wartość...
1. Najprościej wyłączyć obsługę błędów For Each element in kolekcja . Np [syntax=vb]zakres = Array([a2], [c3], [d5]) For Each kom In zakres If kom = "" Then kom.Value = "-" Next[/syntax]
Proponuję takie makro: [syntax=vbscript]Sub Moduł_Kliknięcie() Dim kom As Range, form As String For Each kom In Selection If kom.HasFormula Then form = Application.Replace(kom.Formula, 2, 0, "ABS(") On Error Resume Next kom.Formula = Replace(form, "*", ")*", 1, 1) On Error GoTo 0 End If Next kom End Sub[/syntax]Przed użyciem makra należy zaznaczyć zakres...
Są różne sposoby na znajdowanie ostatniego pustego wiersza, mój ulubiony jest taki: widoczną komórkę w kolumnie B wypełnioną tekstem, idąc od ostatniego wiersza w górę. Liczba 1048576 to ostatni wiersz excela 2007, dla kompatybilności z 2003 należało by użyć 65536. Przed wykonaniem sprawdzania poleceniem ShowAllData próbuje się zdjąć kryteria autofiltra...
Po Next dodać [syntax=vb] .Cells(w,1).value = .Cells(w-1,1).value + 1[/syntax] Powinno działać. Pamiętaj tylko, że gdy w = 1 dostaniesz error, bo spróbujesz się odnieść do Row = 0. Oraz, jeśli ta komórka nad nie będzie liczbą(bądź pusta), a spróbujesz do niej dodać 1. Można temu zapobiec dodając kilka If'ów. Jednakże myślę, że nie jest to takie znów...
Bardzo prosto, wystarczy coś takiego: [syntax=vb]Private Sub CommandButton1_Click() On Error GoTo myErr Set wsdane = ThisWorkbook.Worksheets("Dane") Application.ScreenUpdating = False On Error Resume Next With wsdane .ShowAllData .Range("A2:A" & Rows.Count).ClearContents a = .UsedRange.Row End With On Error GoTo myErr Close #1 Open "c:\plik.txt" For...
lesławek - tak się nie da. Sam spróbuj - ale skopiuj liczbę a nie komórkę. W załączeniu proste makro. Uruchomisz skrótem klawiszowym ctrl+m (można to zmienić) Makro odejmuje od komórki z lewej coś co jest w schowku i wprowadza to formułą w zaznaczonej komórce. [syntax=vb]Sub odejmij_schowek() Dim mem As DataObject On Error Resume Next Set mem = New...
nazwy firm w zależności od statusu tylko na dzień dzisiejszy :?: Jeśli ten warunek jest istotny :?: to te nazwy firm będą jedynie w jednym wierszu (dane dla dnia dzisiejszego :D ) np. tak jak na zrzucie i w załączonym pliku :ok: 1088589 1088592 Jeśli koleżanka preferuje rozwiązania oparte o VBA :?: to można tu zastosować kod, który przy otwarciu pliku...
Trochę uprościłem kod. [syntax=vbscript]Sub WstawMakro() Dim VBProj As VBIDE.VBProject Dim VBComp As VBIDE.VBComponent Dim CodeMod As VBIDE.CodeModule Dim LineNum As Long Set VBProj = ActiveWorkbook.VBProject Set VBComp = VBProj.VBComponents("Arkusz1") Set CodeMod = VBComp.CodeModule On Error Resume Next Open "C:\kod.txt" For Input As #1 LineNum = CodeMod.CountOfLines...
[syntax=vbnet]Sub Bazy() On Error Resume Next Dim a As Worksheet, b As Worksheet Set a = Sheets("Baza danych A") Set b = Sheets("Baza danych B") a.Select owa = Cells(Rows.Count, "B").End(xlUp).Row owb = b.Cells(Rows.Count, "C").End(xlUp).Row For x = 5 To owa w = "" w = Application.Match(Cells(x, 2), b.Range("C5:C" & owb), 0) + 4 If w > 0 Then Cells(x,...
Staram się... OK, nagrałem sobie makro, usunąłem co niepotrzebne, dodałem co niezbędne i wyszło coś takiego Znalazłem taki kod ale nie wiem jak go pod siebie przerobić Nie mam pojęcia czy zakres dla procedury zdarzeniowej (określony argumentem: "Me.ListObjects("Lista1").Range.Columns(... ma u Ciebie zastosowanie, czy nie. Może bierzemy się za przerabianie...
Albo zrób sobie "odtwarzarkę wzorów", czyli makro, które je przywróci, moduł vba zabezpieczysz hasłem oraz przed podglądem, wstawisz przycisk w arkusz ... i wtedy żaden użytkownik ci nie straszny, będzie mógł kasować wzory do woli, co minutę ... jedno wciśnięcie przycisku i masz odtworzone formułki, a złośliwy użytkownik zgrzyta zębami ... Dodano po...
Prawie dobrze ;) Spróbuj: [syntax=vb]Sub Makro2() MyPath = "C:\magazyn\" myname = Dir(MyPath & "*.xls", vbNormal) rang = Array("D1:F10") 'tu dopisz ile trzeba ark = "Arkusz1" On Error Resume Next 'If ofs > -1 And Err = 0 Then With Sheets("Arkusz1") 'nazwa arkusza docelowego w UŻYWANE.xls For Each rn In rang .Range(rn) = Empty Next Do While myname...
Przetestuj następujące makro [syntax=vb]Sub koloruj() Dim lLstRw& Dim iLstCol% Dim rngTmp As Range lLstRw = Cells(Rows.Count, 3).End(xlUp).Row iLstCol = Cells(1, Columns.Count).End(xlToLeft).Column On Error Resume Next For i = 4 To lLstRw Step 4 Set rngTmp = Range(Cells(i, 4), Cells(i, iLstCol)).SpecialCells(xlCellTypeConstan... If Not rngTmp Is Nothing...
Czy takie makro miałoby sens w tym przypadku? Kto wie... patrz niżej. Czy zadeklarowanie Tablicy jako Obiektu jest poprawne? Nie. A może jest lepszy sposób? Tak, nie wiemy tylko jaką to tajemniczą wartość kryje zmienna 'WymZloz' i czego dotyczy. Na początek porównaj z [syntax=vb]Sub() Dim XlApp As Object Dim Tablica() As Variant Dim WymZloz As Long...
A czy jest możliwość stworzenia makra, które po kliknięciu przycisku stworzy automatycznie arkusze dla wszystkich osób (i nada nazwy takie jak w pierwszej kolumnie tabeli tj. nazwisko i imię), a jeśli arkusz dla danych osób już istnieje, to je pominie. Można np tak: 968207
Na szybko bo lecę spać i nie sprawdzę, może to będzie dobry trop: [syntax=vbnet] Private Sub Workbook_Open() On Error Resume Next Workbooks.Open(Filename:=ThisWorkbook.Pa... & "\TwójPlik.xls", ReadOnly:=True, UpdateLinks:=xlUpdateLinksAlways).Window... = False End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next Workbooks("\TwójPlik.xls").Close...
Co zrobić, aby po po zmianie wartości w kolumnach 5,6,7,8; Data i godzina w kolumnach B i C pozostała niezmieniona. Odpowiadając tak na "sucho" ... trzeba do kodu dodać coś takiego: Wariant I If Target.Column = 5 Or Target.Column = 6 Or Target.Column = 7 Or Target.Column = 8 Then " można skrócić do " If Target.Column >= 5 And Target.Column <=...
[syntax=vbscript]Sub Dzialaj() Application.ScreenUpdating = False Dim Tekst As String Sciezka = "C:\PlikiExcela\" Tekst = "mój tekst" Plik = Dir(Sciezka & "\*.xls*") While Plik <> "" Call Wyszukaj(Sciezka & Plik, Tekst) Plik = Dir() Wend Set fso = CreateObject("Scripting.FileSystemObject... Set s = fso.GetFolder(Sciezka) For Each p In s.SubFolders...
Teraz tracę orientację. Jeśli 'With Workbooks(fld).Sheets(1)' to .showalldata. Jeśli 'With Workbooks(fld)' to .sheets(1).showAlldata Jeśli nie ma filtra, wyrzuci błąd, więc musiałbyś sprawdzić, Np [syntax=vb]if Sheets(1).Columns(1).AutoFilter then[/syntax] lub wyłączyć błędy (On error resume next). Trochę trudno tak w ciemno...
Inny wariant, z wykorzystaniem metody Undo: [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count = 1 Then Exit Sub Application.EnableEvents = False If Target.Text = "" Then If MsgBox("Czy na pewno chcesz skasować dane z zakresu?", vbQuestion + vbYesNo, "Potwierdzenie") = vbNo Then On Error Resume Next Application.Undo...
Witam To jest makro wyszukane w jakiejś książce nie pamiętam. Tworzy nowe skoroszyty dla filtra z tabeli przestawnej. Zmień fragment aby tworzyło nowe arkusze Dodano po 6 Proponuję stronę helion.pl Tam do książek są przykłady na FTP. Skarbnica przykładów ;-)
[syntax=vbscript]Sub ImportujPlikizWieluLokalizacji() Dim ZakresWejsciowy As String Application.ScreenUpdating = False Set p = Sheets("Parametry") Set i = Sheets("Import") For x = 2 To p.Cells(Rows.Count, "A").End(xlUp).Row If p.Cells(x, 5) = "x" Then Katalog = p.Cells(x, "A") If Right(Katalog, 1) <> "\" Then Katalog = Katalog & "\" On Error...
Chciałbym aby makro działało w tle Ukryta instancja? Będzie "prawie" w tle. Zgadzam się z przedmówcą. Musisz pliki otwierać, ale nie musi to być widoczne.[syntax=vb]Dim myPath As String, myFile As String, myPass As String Dim oExcel As Excel.Application On Error GoTo qInst Set oExcel = CreateObject("Excel.Application") 'domyślnie Visible=False 'pocz...
Sprawa jest trochę skomplikowana, bo hiperłącza w Excelu nie lubią sortowania, a sortowanie nie przesuwa odpowiednio hiperłączy. Do tego jeszcze funkcja HIPERŁĄCZE nie obsługuje tablic, tylko pojedyncze komórki. Być może jest to do zrobienia z wykorzystaniem funkcji LAMBDA, nie próbowałem, ale obawiam się, że mogłoby to być dość powolne rozwiązanie....
Sub Usundane() ' ' Usundane Makro ' Makro zarejestrowane 2012-05-22, autor XYZ ' If MsgBox("Czy na pewno chcesz usunąć dane osobowe z tej tabeli? Pamiętaj, że stracisz je bezpowrotnie!!!", vbOKCancel + vbCritical + vbDefaultButton2, "UWAGA! Usuwanie danych") = vbOK Then Range("C11:AC50").ClearContents End If End Sub Zaznacza mi linię zaznaczoną przeze...
Ja próbowałem z rejestratorem, ale nie umiem tego połączyć. Próbowałem też wstawić to co napisałeś, ale mi nie idzie. Pewnie coś źle wstawiam [syntax=vbscript]Sub szukaj() On Error Resume Next With Sheets("Dane"): End With If Err = 0 Then MsgBox "Arkusz o takiej nazwie istnieje!" Sheets.Add Method(Excel) End Sub[/syntax]
Run-time error: '1004': Method 'Range' of object 'Global' failed Dodano po 27 Język to VBA nie jestem pewna jaki syntax mam wybrać
Można otworzyć dwa pliki w dwóch oknach w jednej instancji Excel'a Przełącza się to poleceniem w oknie imediate: Application.ShowWindowsInTaskbar = true Na pewno gdzieś w ustawieniach można to też przełączyć. Jeżeli koniecznie chcesz to z poziomu makra możesz stworzyć oddzielną instancję excel'a i do niej otworzyć. Chociaż jest to kłopotliwe bo często...
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.....
Jakiegoś ewidentnego błędu w tym kodzie nie znalazłem, być może jakieś przypadkowe interakcje z innym kodem. Natomiast generalnie ten kod wykonuje mnóstwo niepotrzebnych czynności i można go znacznie skrócić. Może w tej skróconej formie będzie działał lepiej (a przynajmniej w razie wystąpienia błędu łatwiej będzie go zlokalizować). [syntax=vbscript]Sub...
Popełniłeś dwa błędy w jednym wierszu... Do wyboru If IsNumeric((Cells(i, "I").Value)) = True Then If IsNumeric((Cells(i, 9).Value)) = True Then Natomiast wyszukanie ostatniego wiersza z nazwiskiem możesz zrobić w pętli przez porównanie. Np (dla wierszy od D2 w dół) taką Sub petla() For...
Hej, mam w pliku a.xlsm zapisane makro którego wykonanie powoduje zapisanie kopi tego pliku w innym folderze pod nazwą b.xlsm. Obecnie działam tak że otwieram plik a.xlsm muszę odczekać około 10-15 s aż plik automatycznie pobierze kwerendą świeże dane z SQL-a następnie ręcznie uruchamiam makro o nazwie Makro1. Po wykonaniu makra plik a.xlsm zamyka się...
Można bez makra, Np wpisz w B2 i skopiuj/przeciągnij w dół =WYSZUKAJ.PIONOWO(A2;Arkusz2!A:B... Jeśli koniecznie VBA, to w kod arkusza wklej [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Columns(1)) Is Nothing Then On Error Resume Next Target.Offset(0, 1) = Sheets("Arkusz2").Columns(1).Find(what:=...
Posiadam działającą wyszukiwarkę w Excelu, która działa tylko dla jednej kolumny [syntax=vbscript]Private Sub TextBox1_Change() ActiveSheet.ListObjects("Data1").RANGE.A... field:=2, Criteria1:="*" & [a2] & "*", Operator:=xlFilterValues End Sub[/syntax], jak zmodyfikować makro bądź utworzyć całkowicie nowe, aby działało dla wielu kolumn....
Witam, po kilku dniach przerwy, troszkę zmodyfikowałem kod. Problem był tego rodzaju, że makro nie widziało tej tabeli, którą miało przeszukiwać. Z poziomu SolidWorks otwieram jako obiekt arkusz Excel, mam dostęp do przeszukiwanego zakresu, ale źle ustalam jeszcze kolumnę, zainteresowane osoby w tym temacie pewnie znają odpowiedź. Makro na dziś dzień...
[syntax=vb]Private Sub OpenExcel40(DimCol) Dim abc As String Dim XlApp As Object Dim LastRow As Long Dim ItemNo As String Dim Konf_n As Integer Dim Konf_o As Integer Dim Konf_n_s As String Dim LastCell As Object 'Dim xp As Process On Error Resume Next Set XlApp = GetObject(, "Excel.Application") For i = 300 To 2 Step -1 If XlApp.Worksheets(1).cells(i,...
Działa super! Bardzo dziękuję! :D Dodałem do tego jeszcze: [syntax=vbnet]Sub usuwanie_zer() With ActiveSheet With Range("a1", Range("a" & Rows.Count).End(xlUp)) .AutoFilter 1, "*IT02*" On Error Resume Next .Offset(1).SpecialCells(12).EntireRow.De... End With End Sub [/syntax] I w tym momencie usuwa mi praktycznie wszystko, co niepotrzebne. Jeszcze...
Przykładowe makro: [syntax=vbscript]Sub numery() Dim coll As New Collection Dim ow As Long, i As Long ow = Range("A" & Rows.Count).End(xlUp).Row On Error Resume Next For i = 2 To ow If Range("A" & i).Value <> vbNullString Then coll.Add coll.Count + 1, Range("A" & i).Value If Err = 0 Then Range("B" & i).Value = coll.Count Else Err.Clear...
Witam poniżej działające makro: otwierasz plik excel - powstaje wpis edytujesz zapisujesz zamykasz - powstaje wpis [syntax=vb]Private Sub Workbook_Open() Dim nrPlikuWyj On Error Resume Next nrPlikuWyj = FreeFile Open "F:\Marek\OFFICE\test formuł\LISTA_LOGI.log" For Append Shared As #nrPlikuWyj Write #nrPlikuWyj, _ ThisWorkbook.Name & _ " otwarto " &...
Jest to procedura zdarzeniowa w 'thisworkbook' reaguje na tworzenie nowego arkusza (gdy tworzysz nowy arkusz uruchamia się to makro i dodatkowo kopiuje 'template' wtedy masz 2 arkusze podepnij to pod przycisk tak jak w poście 1 [syntax=vbscript]Sub add() ActiveWorkbook.Sheets("Template").Copy After:=ActiveWorkbook.Sheets("Template") On Error GoTo Wrongname...
Witam Próbuję dane z excel - z różnych arkuszy przenieść do WORD. Znalazłam wątek "Makro zapis danych z EXcel do Word" (Niestety wątek jest zamknięty więc zakładam nowy. ) W wspomnianym wątku zamieszczono bardzo przydatny wzór - w załączniku. Jeśli uruchamiam makro z oryginalnego pliku działa bez zarzutu. Jednak przeniesienie fragmentu kodu nie skutkuje...
Przetestuj poniższy kod: [syntax=vb]Sub Szukaj_Wpisz() Dim shSrc As Worksheet Dim shDest As Worksheet Dim vSrch As Variant Dim rFndCl As Range Set shSrc = Sheets(1) Set shDest = Sheets(2) vSrch = shSrc.Range("B18").Value With shDest On Error Resume Next Set rFndCl = .Cells.Find(what:=vSrch, after:=.Cells(1, 1)) On Error GoTo 0 If Not rFndCl Is Nothing...
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...
A musi być makro? Bo najprościej to zrobić formatowaniem warunkowym, wybierając opcję "niepuste". Formatowanie warunkowe jest dynamiczne, więc zmiany zawartości komórek będą od razu uwzględnione. Tylko jeszcze kwestia formalna: co uważasz za puste komórki? W formatowaniu warunkowym Excel uważa za puste również komórki zawierające pusty tekst oraz same...
Może tak: [syntax=vbscript]Sub Loginy() Dim a As Integer On Error Resume Next For w = 1 To Cells(Rows.Count, "M").End(xlUp).Row a = 0 a = Application.Match(Cells(w, "M"), Range("C1:C" & Cells(Rows.Count, "C").End(xlUp).Row), 0) If a > 0 Then Range(Cells(w, "M"), Cells(w, "R")).Copy Range("C" & a) Next End Sub [/syntax]
Może InputBox? Np tak przeróbka makra wyżej[syntax=vb](...) On Error Resume Next wrs = InputBox("Podaj Nr wiersza początkowego", "Proszę wpisać liczbę", 6) max = InputBox("Podaj Nr wiersza końcowego", "Proszę wpisać liczbę") On Error GoTo 0 If wrs < 2 Then Exit Sub If wrs > max Then max = Rows.Count Do While Cells(wrs, 4) <> "" And wrs <=...
Witam, w arkuszu mam 150 list rozwijanych typu combobox Makro ma wybrać 5 z nich i załadować do nich dane Listy mają nazwy Lista_1_01, Lista_2_01, Lista_3_01, Lista_4_01, Lista_5_01 z tym że ostatnie 2 cyfry zmieniają się od 01 do 30 i są brane z komórki F1 z tego względu że nie potrafię zrobić tego inaczej, napisałem coś takiego: [syntax=vbscript]Sub...
W J1 wkleiłem: [syntax=text]URL;http://download.t-mobil... sprawdzanie operatora numeru telefonu /pierwsze lepsze z Google) Kod z przypisaniem [syntax=vb]With ActiveSheet.QueryTables.Add(Connection:=... Destination:=Range("$A$1")) .Name = "nazwa" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas...
For i = 0 To UBound(PATH) Folder = Folder & PATH(i) & "\" If PATH(i) = "" Then CheckDir = Dir(FullPath & "Nowy" & Date, vbDirectory) If CheckDir <> "" Then MsgBox CheckDir & " - taki folder już istnieje" Else MkDir FullPath & "Nowy" & Date MsgBox "Utworzono nowy folder " & FullPath & "Nowy" & Date End If...
Możesz wypróbować taką funkcję UDF: [syntax=vbscript]Function Cross(graf As String, x As Double, y As Double) As String On Error Resume Next With ActiveSheet.ChartObjects(graf).Chart .Axes(xlValue).CrossesAt = y .Axes(xlCategory).CrossesAt = x End With End Function[/syntax] Działa na pewno w starszych wersjach Excela. W najnowszym nie testowałem. Jest...
Teoretycznie - "tak", ale praktycznie to nie wiem czy byłbyś zadowolony, wiązałoby się to bowiem z zakładaniem ochrony na cały arkusz, przy wskazywaniu jednocześnie, które komórki mają być zablokowane, a które nie. Trudno dociec co tam jeszcze masz w arkuszu, co powiino być chronione/blokowane, a co nie i co czemu wchodziłoby w paradę. Taki pomysł na...
Hej, makro w obecnym kształcie działa prawidłowo - zapisuje dwa pliki (testowe docelowo będzie ich znacznie więcej) w podanej lokalizacji w formacie pdf ;) Co do nazwy to opcja numer jeden: czyli dodawanie daty w wyżej opisanym formacie też wchodzi w grę, nie musi zaciągać jej koniecznie z komórki. Próbowałem obu scenariuszy niestety w obu przypadkach...
p.Macieju właśnie oto mi chodziło, "śmiga jak ta lala" Mam jeszcze jedno pytanie. mając takie makro które czyści cały zakres i pokazuje wszystkie wartości [syntax=text]Sub czysc() On Error Resume Next ActiveSheet.ShowAllData On Error GoTo 0 End Sub[/syntax] mam problem kiedy włączę ochronę arkusza nie mogę z niego korzystać czy można to jakoś obejść...
Witam! A jak przerobić to makro tak żeby się uruchamiało automatycznie, przy włączeniu arkusza(bez przycisku). [syntax=vb]Private Sub CommandButton1_Click() Dim kom As Range If TypeName(Selection) <> "Range" Then Exit Sub For Each kom In Selection Debug.Print TypeName(kom.Value), kom.Value, kom.Address Select Case TypeName(kom.Value) Case "Error":...
[syntax=vbscript]Sub AdoB() Set a = ThisWorkbook Set wb = Workbooks.Open(ThisWorkbook.Path & "\B.xlsx") Set b = wb.Sheets(1) a.Activate For x = 1 To 40 ow = Cells(Rows.Count, x).End(xlUp).Row On Error Resume Next k = b.Range("A1:AN1").Find(What:=Cells(1, x), LookIn:=xlValues, LookAt:=xlWhole, _ MatchCase:=False, SearchFormat:=False).Column If ow > 1...
Podepnij do arkusza makro: [syntax=vb] Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not (Intersect(Target, Range("A1")) Is Nothing) Then Range("B1").Value = Range("B1").Value + Range("A1").Value End If End Sub [/syntax]
No więc wpisałem coś takiego ale pojawia mi sie komunikat Run time error 424 - Object required :( [syntax=vbscript]Sub Zapis For Each ws In Worksheets If ws.Name <> Arkusz2.Name Then katalog = "C:\Users\KrzyszW1\Desktop\Dystrybucja V5\" & ws.Name ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=katalog & "\cennik.pdf", Quality:=xlQualityStandard,...
Mam nadzieję, że to już koniec wątku.;) [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next w = Target.Row If Target.Column = 7 Then If Target.Value > 1 Then a = w + 1 b = a + Target.Value - 2 Rows(a & ":" & b).Select Selection.Insert Shift:=xlUp, CopyOrigin:=xlFormatFromLeftOrAbove Rows(w & ":" & w).Select Selection.Copy...
Komentarz można wstawić i edytować. Nagraj makro i przeanalizuj. Mały przykład: [syntax=vb]Sub komentarz() On Error Resume Next tekst = "jakiś tekst w pierwszej linii" & Chr(10) & Chr(10) & Sheets(2).Range("A1") Range("A1").Comment.Text Text:=tekst Range("A1").AddComment Text:=tekst End Sub[/syntax]
Witam, w programowaniu nie jestem dobra ale chciałam sobie ułatwić życie i pogrupować dane na podstawie kryterium. Zgodnie z zasadą grupuje od szczegółu do ogółu, jeśli w wierszu pojawia się słowo TOTAL, jednak gdy cofam się kolumnami do pierwszej to makro źle działa. Kod wygląda tak -> jednak czy ktoś może mi powiedzieć czemu na drugim poziomie...
nie rozpoznaje nazwy pliku: Workbooks.Open Filename:=("C:\Users\Uzytkownik\Desktop\... & nazwa & ".xls") tzn? masz w katalogu tak były takie zamieniłam wszędzie rozszerzenia na xlsx i działa ale problem(Run time error 9 subscript out of range) pojawia się w linijce: Sheets("Arkusz1").Rows(Cells(Rows.Count, 1).End(xlUp).Offset(1).Row) = wb.Sheets("Sheet1").Rows(i).Value
Bez autonumerowania tabel/wykresów nie wygeneruję spisu Coś mi się zdaje kolego, że korzystasz z nowszych wersji Worda niż mój (2016) :?: Więc nie będę w stanie przetestować rozwiązań pożądanych przez Ciebie :cry: Ale w takim razie nie możesz doklejać tego segmentu kodu modyfikacji tabel :!:, lecz musisz stworzyć odrębne makro operujące na tzw. kolekcji...
jak mogę zrobić aby makro weryfikowalo hasla [syntax=vbscript]Private Sub Loguj_Click() Set dl = Sheets("Dane logowania") ow = dl.Cells(Rows.Count, "A").End(xlUp).Row On Error Resume Next a = Application.Match(Me.User, dl.Range("A1:A" & ow), 0) If a > 0 Then If Me.Password = CStr(dl.Cells(a, 2)) Then MsgBox "Zalogowany", vbOKOnly Unload Logowanie End...
np. tak [syntax=vb]Sub podzial() Dim wb As Workbook, r& r = 2 While Cells(r, 11) <> "" wbn = Cells(r, 11) & ".xlsx" On Error GoTo errh Set wb = Workbooks(wbn) With wb.Sheets(1) Rows(r).Copy .Rows(Application.CountA(.Columns(11)) + 1) End With r = r + 1 Wend For Each b In Workbooks b.Save Next Exit Sub errh: Set wb = Workbooks.Add ActiveWorkbook.SaveAs...
Hej, Stworzyłam kod w wykorzystaniem Vlookup, niestety Excel mieli to kilka lub nawet kilkanaście minut, przy raptem 200 wierszach z danymi. Jest jakiś sposób, żeby przyśpieszyć działanie makro? Z góry dzięki wielkie za pomoc! [syntax=vbscript] On Error Resume Next Dim Dept_Row As Long Dim dept_Clm As Long Table1 = ActiveSheet.Range(“i1:i”...
Witam, wiem że był podobny temat, jednak tamten mi nie pomógł a ciężko znaleźć jakiekolwiek informacje w internecie. Od kilku dni męczę się z tym kodem, chciałbym aby po kliknięciu przycisku dodawał się nowy arkusz z nazwą pierwszego + kolejny numer po prawej stronie według kolejności, mam makro tworzące kolejny arkusz, lecz pusty oraz mam makro kopiujące...
Z przedstawionego teraz opisu wygląda, że Tobie nie jest potrzebne kryterium filtrowania, a wynik filtrowania - to znaczy czy wszystkie komórki w wyniku filtrowania są jednakowe, czy są różne. Jeśli jest tak w istocie, to możesz spróbować takiego makra: [syntax=vbscript]Sub Wart_zakresu() Dim zakres As Range, rws As Long, wynik Set zakres = Range("A1").CurrentRegion.Columns(1)...
Clubs: Tak, w komórce W4 jest cała nazwa pliku razem z rozszerzeniem. kinggustav: Tak jest Nothing. Spróbowałem teraz wykonać prosta operację kopiowania wykorzystując nazwę pliku z komórki, ale nie działa. Wyskakuje błąd: Run-time error'9'9: Subscript out of range Gdy najade kursorem na zmienna(plik_1), gdzie jest pełna nazwa pliku, to podświetla mi...
Cześć mam napisane takie makro: [syntax=vbnet] Sub Usun_Etap() Dim rob As String rob = Selection.Address If Left(Range("A" & Range(rob).Row), 4) = "Etap" And Right(Range("A" & Range(rob).Row), 6) <> "razem:" And Left(Range("B" & Range(rob).Row - 1), 4) <> "STAN" Then Call Usun_Wiersz Do Until (Range("A" & Selection.Row) Like...
Chciałem utworzyć makro, które będzie: 1 Filtrowało po "Wiązka" (kolumna B) - wiązki mają różne nazwy, dlatego też pytanie - jak zrobić aby filtrowało od pierwszej wiązki do ostatniej (żeby nie było trzeba wpisywać za każdym razem H_M+ROMcA_001_001_A, ponieważ w tym miejscu może być inna nazwa np. H_M+ROMcC_001_001_A) 2. Tworzenie nowego arkusza i nazwanie...
Witam forumowiczów! Męczę się już jakiś czas z napisaniem kodu. Napisałem sobie makro, które generuje mi 10 wariantów danych do jednego arkusza w 20 kolumnach. Chciałbym stworzyć z tych kilku kolumn jedną w nowym arkuszu na zasadzie: mam: 1,4,7 2, ,8 3,6 a chcę: 1 2 3 4 6 7 8 Do tego mogą występować puste komórki, które chciałbym pomijać przy kopiowaniu....
Jak najbardziej popraw to makro, nie będzie cię "przerzucało" i będzie działać nawet jak ukryjesz arkusz 0dane0 (właściwość Visable arkusza ustaw na 0). To co zmieniłem zaznaczyłem. Rozumiem że musisz dodać pełny adres źródła (nie wiem po co wykasowałeś ale twoja wola). Nie potrzebny jest teraz wcześniejszy kod makra dane kod kurs_2 sam załatwia wszystko...
Takie makro powinno załatwić sprawę: [syntax=vb]Sub Przycisk10_Kliknięcie() On Error GoTo myErr Set wsdane = Worksheets("Dane") Set wsform = Worksheets("Formularz") total_rek = 0 ost_w = wsdane.Range("B" & Rows.Count).End(xlUp).Row If ost_w < 3 Then ost_w = 3 For w = 3 To ost_w If wsdane.Rows(w).EntireRow.RowHeight > 0 Then wsform.Range("H2").Value...
Sprawdź ... JRV , jeśli zadziała, to podziękuj mu za pomysł. Wyszukiwane są wpisy z "Baza" w "Raport", jeśli jakiś wpis nie zostanie znaleziony i funkcja wygeneruje błąd, to klauzula 'On Error' go "spławi" i kod wykona się dalej. Wyszukiwane wartości w "Baza" są wstępnie pozbawiane odstępów, jeśli więc coś "jest" a nie jest" wyszukiwane, trzeba w pierwszym...
Cześć, Wykorzystałem poniższy działający kod makro z Excela, ale potrzebuje go przenieść do makra w Google Docs, App Script. W skrócie skrypt porównuje kolumnę F w arkuszu Zamowienia z kolumną A w arkuszu Urzadzenia . Jeśli wystąpi w tych kolumnach ten sam numer to usuwa cały wiersz zawierający ten numer ale tylko w arkuszu Urzadzenia . [syntax=vb]Sub...
Próbowałem wykorzystać twój kod, niestety ciągle wyskauje błąd przy próbie uruchomienia makra [syntax=vb] Sub Kopiuj() Dim WksDo As Workbook Dim wksZ As Workbook, wierszZ As Long On Error GoTo koniec 'zadeklaruj arkusze Set WksDo = Workbooks("A.xls").Sheets("1") Set wksZ = Workbooks("B.xls").Sheets("1") 'ustal raz aktywny wiersz wksZ.Activate wierszZ...
mam takie makro: [syntax=vb] Sub SearchForString() Dim LSearchRow As Integer Dim LCopyToRow As Integer On Error GoTo Err_Execute LSearchRow = 1 LCopyToRow = 1 While Len(Range("A" & CStr(LSearchRow)).Value) > 0 If Range("E" & CStr(LSearchRow)).Value = "konto" Then Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select Selection.Copy Sheets("Sheet2").Select...
dziękuję za podpowiedź ale nie pomogło niestety, gdzieś znalazłem sugestię że with może powodować problem ale to też zły trop sprawdziłem ręcznie nagrywając makro, po kliknięciu w zakładce dane odśwież nagrało się makro i to zadziałało Dodano po 26 oj pośpieszyłem się [syntax=vb]ActiveWorkbook.RefreshAll[/sy... nie do końca rozwiązuje problem wyskakuje...
Możesz wykorzystać kolekcję z kluczem. Jeśli błąd przy Add, mamy dubel, Np [syntax=vb]Sub porowanie() Dim x As Range, y As Range Dim zakres1 As Range, zakres2 As Range Dim ost1 As Long, ost2 As Long Dim nUnique As Collection ost1 = Cells(Rows.Count, "A").End(xlUp).Row ost2 = Cells(Rows.Count, "C").End(xlUp).Row Set zakres1 = Range(Cells(2, "A"), Cells(ost1,...
Ten kod jest uruchamiany w ThisWorkbook przy zamknięciu pliku jak widać w poniższym kodzie: [syntax=vb]Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim frm As Object, i As Integer On Error Resume Next Application.EnableEvents = False For Each frm In VBA.UserForms Unload frm Next Call Sortuj("Lista pracowników") ListaForName .... .... ....[/syntax]...
Dzięki za podpowiedź. Tak więc zrobiłem coś takiego: [syntax=csharp] public partial class Form1 : Form { excelActiveRow; BindingSource bindingSource1 = new BindingSource(); SqlDataAdapter dataAdapter = new SqlDataAdapter(); private void GetData(string selectCommand) { try { String connectionString = "Integrated Security=SSPI;Persist Security Info=False;"...
1. ... makro które zmieni nazwę arkusza na występujące w pewnej komórce. 2. ... następnie ... zapisało ten arkusz osobno pod nazwą tego arkusza. 3. ... + jeżeli w folderze występuje plik o takiej samej nazwie wyłącza cały program bez żadnego zapisu ... 1.[syntax=vba] Sub zmien_nazwe_arkusza() Application.DisplayAlerts = False If ActiveSheet.Name =...
Dzięki za pomoc. Tamta pętla wynika z makra, które mi napisałeś w poprzednim wątku. Wtedy wszystko działało więc miałam nadzieję, że i tu zadziała po drobnej zmianie ;) Zgodnie z Twoimi sugestiamii napisałam coś takiego: [syntax=vb]Private Sub Worksheet_Change(ByVal Target.Address(0,0)="A1" As Range) Dim Liczba As Range If Liczba Mod 59 = 0 Then ok...
Mam pewien problem napisałem proste makro które podmienia moduły: [syntax=vb]Sub aktualizacja(control As IRibbonControl) On Error GoTo blad ThisWorkbook.VBProject.VBComponents.Remo... ThisWorkbook.VBProject.VBComponents("Mod... sciezka= "\\portal\" ThisWorkbook.VBProject.VBComponents.Impo... sciezka & "Module1.bas" MsgBox "AKTUALIZACJA PRZEBIEGŁA POMYŚLNIE",...
makro wykrzacza mi się na linii: "If Sheets(wybor) Is Nothing Then" Faktycznie tak się dzieje :cry: - wymień tą część kodu od If ... do End If na kod: Nie do końca też rozumiem do czego służą dodatkowe arkusze z nazwami kolekcji Służą nadaniu jakiejkolwiek logiki robionym przekształceniom :D Zapisywanie wszystkich "wyciągów" (wielokrotnie po 3000 -...
Dzień dobry, dobry wieczór! Mam sobie taką korespondencję seryjną do generowania dokumentów, makro mi je dzieli na konkretne pliki, do nazwy używa odpowiedniej komórki, wszystko super. Ale potrzebuję je trochę ulepszyć. Chciałbym móc decydować jaki zakres rekordów będzie generowany. Czyli np, jest w bazie wpisane 20 rekordów, ja chcę wygenerować od...
Witam ponownie. Wracam do tematu bo mam problem z poprawnym wklejeniem wcześniej skopiowanej tabelki z pliku Excel do treści wiadomości email. Mam taki kod jak poniżej który wszystko robi poprawnie z jednym wyjątkiem: https://obrazki.elektroda.pl/4035873500_... ...ale jak bym skopiował ręcznie tabelkę i ręcznie wkleił do wiadomości...
Zobacz w załączniku, czy ta propozycja spełnia Twoje oczekiwania. To jest makro zdarzeniowe, które reaguje na wpis dokonany ręcznie (nie przez makro), ale można kopiować z innej komórki. Wypełniać komórki można tylko pojedynczo. Jeśli chce się zmienić proporcje składnika, trzeba usunąć wpis istniejący (delete), a następnie wpisać nowy. Makro nie przelicza...
Odnośnie mojego przykładu - a u mnie działa ;) tzn. reaguje tylko na wiersz 5. Edit: Mała modyfikacja eliminująca pewną niedogodność przy wklejaniu kilku komórek na raz ;) Witam ponownie. Wszystko działało do momentu dodania wielu danych w kolumnach.. Trochę tego jest = ponad 1.5k VBA działa - makro się uruchamia ale pojawia się błąd : Run time error...
:arrow: JRV Jeśli makro, to może warto byłoby pozbyć się powtórzeń (na obrazku widać, że występują). Np przez zapisanie liczb do kolekcji z kluczem i następnie przepisanie do "kolumny obok" z jednoczesnym CountIf. Co Ty na to? MyCollection.Add item := Inst, key := CStr(Num) Edit: O, nawet znalazłem kawałek kodu z przykładem [syntax=vbscript]Dim nUnique...
Witam! Mam problem z poprawnym działaniem makra. Makro które przerobiłem z innego pliku gdzie dane były przenoszone z pierwszego arkusza do arkuszy znajdujących się w tym samym pliku. Teraz potrzebuję aby przenosiło do innego pliku z innych komórek. Niby przerobiłem je na podobę tamtego odpowiednio zmieniając adresy komórek z których ma pobierać dane...
Potrzebna byłaby formuła oparta o ADR.POŚR, ale tu znowu zbyt wiele niewiadomych. Jeśli makro, mogłoby być coś podobnego do[syntax=vb]Sub Wkb_From_SubDirs() Dim path1 As String, path2 As String Dim plik As String, tekst As String Dim i As Long, folder As Object, pfolder As Object 'jeśli ktoś wpisze byle co Err = 1 Do While Err <> 0 On Error Resume...
Witam! Mam dwa makra, pierwsze sprawdzające czy któryś z plików nie jest otwarty przez innego użytkownika: [syntax=vbscript] Public Function CanOpenAllReports() Dim canOpen As Boolean Dim fileName As Workbook Dim path As String Dim tempString As String Application.DisplayAlerts = False canOpen = True path = "D:\EXCEL\Wpisywanie\wprowadzanie danych\ilości.xlsm"...
syntax error command syntax error excel error
kontrolka zarowych rolowanie papieru kopać kryptowalut
orange router identyfikacja elementu
Parametry diody Zenera w magnetofonie Aria 2411 Producent hulajnogi Kesser ESC X10 - kto to jest?