Linię: If Kom.Value Like (Nazwisko & "*") Then zastąp: If InStr(Kom.Value, Nazwisko) > 0 Then
Wprowadz inny warunek: [syntax=vb]... If InStr(1, kom.Value, "Z WYS") > 0 Then ...[/syntax]
:arrow: makary1 Nie dość że dajesz niedziałające badziewie (z błędami) bez żadnej instrukcji, to jeszcze żądasz "zapłaty" za stworzony plik. :cry: Nieładnie. :cry: Zanim coś dodasz przetestuj czy u ciebie to działa. Tworzysz okno filtra Kol A Filter, a w kodzie piszesz Kol B Filter Zaznaczasz (Range) jedną kolumnę a piszesz Field:=2 Wprowadzasz nazwę...
Jeśli to "22:00-06:00" ma być kolorowane, to w ogóle nie ma problemu (InStr dla "x").
Nie przeszkadzałoby Ci zrezygnować z Find, operować na pliku tekstowym? Jakoś nic innego z Find nie przychodzi mi do głowy. Excel tak po prostu ma. Może prościej będzie Open For Input, a potem InStr.
[syntax=vbscript]q = Formularz.ComboBox_jako a = Val(Mid(q, InStr(1, q, "=") + 1)) Range("I" & Cells(Rows.Count, "I").End(xlUp).Row + 1) = a [/syntax]
Ogólnie to konieczne by było makro z wyrażeniami regularnymi Nie koniecznie, przy tak prostym układzie, może być proste makro. [syntax=vbscript]Sub elka() For x = 3 To Cells(Rows.Count, 5).End(xlUp).Row Cells(x, 6) = Mid(Cells(x, 5), InStr(Cells(x, 5), ".") - 2, 10) Next End Sub[/syntax]
W takim razie to InStr zwróci Ci pozycję w ciągu i to należałoby wykorzystać...
Jeszcze linia z wyszukiwaniem: If InStr(1, .Cells(i, 1 ), rng.Value, vbTextCompare) > 0 Then wytłuściłem Nr kolumny. Jeśli H, to 8...
Wklej tę funkcję do modułu VBA. [syntax=vb] Function PozycjaSlowa(Slowo As String, Tekst As String) As Integer PozycjaSlowa = InStr(1, Tekst, Slowo) End Function [/syntax] Użyj jej w ten sposób: =PozycjaSlowa("AAA";A1)
Spróbuj [syntax=vb]Sub Makro2() Dim kom As Range, i As Integer, j As Integer For Each kom In UsedRange If kom.Value <> "" Then i = InStr(1, LCase(kom.Value), "<") Do While i > 0 j = InStr(i, LCase(kom.Value), ">") 'jeśli zabraknie ">", to zakoloruje do końca kom.Characters(i, j).Font.Color = vbRed kom.Characters(i, j).Font.Bold = True...
W przykładzie który podałem w załączniku popełniłem błąd. Poniżej poprawiona formuła: [syntax=vb]=JEŻELI(A11=0;"";JEŻELI(I11=0... datę płatności 'Do'";JEŻELI(I11<A11;"Nieprawidłowa data płatności 'Do'";JEŻELI(J11=0;"Brak płatności";JEŻELI(J11<=I11;"Zapłacono w terminie";"Zapłacono po terminie"))))[/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]
[syntax=vb]Dim folder As String Application.DisplayAlerts = False folder = Left(ActiveWorkbook.FullName, InStr(ActiveWorkbook.FullName, ".") - 1) Sheets("LW").Copy ActiveWorkbook.SaveAs Filename:= _ folder & Format(Date, " dd-mm-yyyy") & ".csv", FileFormat:=xlTextWindows ActiveWorkbook.Close [/syntax]
:arrow: bobo InStr Trzeba podstawić[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) Dim test As Integer If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("Q58:V119")) Is Nothing Then test = InStr(1, Target.Value, "+") If test = 0 Then Exit Sub Application.EnableEvents = False On Error Resume Next Target.Value = "=" & Target.Value...
Instrukcja w tym wątku nie skupia się na czyszczeniu całości, a ja chciałbym dotrzeć i wyczyścić również spód, bo tam od jakiegoś czasu zbiera mi się woda. Niestety woda nie spływa tam, gdzie ma spływać, tylko wpada pod elementy wnętrza i z jednego z boków mi się skrapla woda - to jakaś wada konstrukcyjna Brinka. Czy te wężyki (blue & red) w jakiś...
Jak poniżej. Założenie, że zwraca pierwszy 26znakowy ciąg cyfr, po usunięciu spacji z tekstu. [syntax=vbscript]Function ZwrocIban(Szukaj_Komorka As Range) Dim dlugosctekstu, pozycja As Long Dim t, ciag, maska, iban As String Dim i As Long 'usuwamy spacje z tekstu t = Szukaj_Komorka t = Replace(t, " ", "") maska = "CCCCCCCCCCCCCCCCCCCCCCCCCC" dlugosctekstu...
:arrow: skosiu Nie mylisz pojęć skoroszyt/arkusz? :arrow: tomekptk Jaki sens ma deklarowanie zmiennej obiektowej typu Workbook w obrębie jednego skoroszytu (jak wynika z Twojego kodu)? Jeśli chodzi o nieaktywny arkusz, to słusznie Waść prawisz, trzeba się do niego odwołać, ale całość da się zmieścić w jednej linijce. Dalej jednak nie wiadomo, który...
Trzeba sobie radzić inaczej, Np przy pomocy funkcji Dir. Pierwszy, lepszy znaleziony przykład funkcji z wywołaniem.[syntax=vb]Sub testit() myvar = FileList("C:\users\adam\") If TypeName(myvar) <> "Boolean" Then For i = LBound(myvar) To UBound(myvar) Debug.Print myvar(i) Next Else MsgBox "No files found" End If End Sub Function FileList(fldr As...
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ą")...
[syntax=vb]Sub fakturzy() Dim bs As Range, r As Long, rd As Long Dim bd As Range Sheets(1).Activate ow = Cells(Rows.Count, 1).End(xlUp).Row Set bs = Range("A1:C" & ow).Cells Set bd = Sheets(2).Cells bs.Replace ".", "," For r = 1 To bs.Rows.Count If Application.CountA(bs.Rows(r)) = 1 Then nrFact = bs(r, 1) If Application.CountA(bs.Rows(r)) > 2 Then rd...
Ile jeszcze będzie tych wariantów? Jeśli adresy list są różne, to najrozsądniej, jak myślę nadać im takie same nazwy i te nazwy wykorzystać do identyfikacji. Przykładowy kod: [syntax=vb]Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim wks As Worksheet, nazwa As String If Target.Count > 1 Then Exit Sub If Intersect(Target,...
Nie bardzo rozumiem, masz listę użytkowników i nie umiesz znależć tego którego już znasz z loginu? Najprościej: zwykłe wyszukiwanie w tablicy (i co z tego, że to Excel). Jak wolisz po Excelowemu to użyj Range.Find i pobierz sobie wiersz (chyba to pionowa tablica?) i dalej to już proste. Jeżeli używasz pliku na serwerze to właściwie już jest to jakaś...
Już tyle się "bawisz" z makrami (patrząc po twojej egzystencji na forum) więc myślałem że sobie sam poradzisz. Wystarczyło porównać wcześniejszy kod do późniejszego i wyciągnąć wnioski. Oj nie uczysz się. [syntax=vb] sciezka = ActiveWorkbook.Path If [I10] & [I11] = "" Then Image1.Picture = LoadPicture() Else If Dir(sciezka & "\Foto\" & [I10]...
To skopiuj sobie całą procedurę np. do jakiejś komórki albo do pliku tekstowego w formie: [syntax=vb]Private Sub Worksheet_Activate() MsgBox "To jest test" Cells(1, 1).Value = "OK" Cells(1, 1).Interior.Color = vbGreen End Sub[/syntax]a z kodu zrób: [syntax=vb]'Dodać referancję: Tools->References->Microsoft Visual Basic for Applications Extensibility...
[syntax=vb]Sub Porownaj() Dim s2 As Worksheet Set s2 = Sheets("Arkusz2") Sheets("Arkusz1").Select owx = Cells(Rows.Count, "A").End(xlUp).Row owy = s2.Cells(Rows.Count, "A").End(xlUp).Row For x = 1 To owx For y = 1 To owy If InStr(1, Cells(x, 1), s2.Cells(y, 1)) > 0 Then Cells(x, 2) = s2.Cells(y, 2) Exit For End If Next Next End Sub [/syntax]
Po mojemu, nie ma tu nic skomplikowanego, jedynie "trochę" grzebaniny... Pętla z zastawieniem kilku sideł w postaci instrukcji warunkowych i jazda. Excel nie jest od poprawiania błędów językowych, więc to zostawiłbym Word'owi, albo w ogóle się nie przejmował. Wstawienie grafiki do formularza nie jest problemem. Rzecz w tym, żeby przygotować źródło w...
Czyżby taki prosty błąd?[syntax=vb] For i = 3 To ostWrs If (InStr(1, etat, "| " & .Cells(i, 5) & " |") > 0 Or .Cells(i, 5) Like etat) And _ (InStr(1, firma, "| " & .Cells(i, 9) & " |") > 0 Or .Cells(i, 9) Like firma) And _ (InStr(1, szef, "| " & .Cells(i, 10) & " |") > 0 Or .Cells(i, 10) Like szef) And _ (InStr(1, kopalnia, "| " & .Cells(i, 11) & "...
Poniżej bez rozróżniania wielkości liter: Domyślnie instr() porównuje binarnie (rozróżnia wielkość), jeżeli zmienisz na tekstowe to nie będzie miało znaczenie wielkość liter. [syntax=vbscript]If InStr(1, Cells(x, 2), a, 1) > 0 Then[/syntax]
Skoro tak to zmień funkcję InStr na InStrRev - wyszukuje i zwraca pozycję pierwszego wystąpienia znaku "od końca"
Cześć, nie idzie mi wrzucenie tego makra. Jak kopiuję, to mi tylko wskakuje to, co na 1 screenie. Nie wiem też, jaką opcję wybrać z https://obrazki.elektroda.pl/9996081400_... https://obrazki.elektroda.pl/8102811400_... 2.
Chce kupić piec Junkers Ceraclass Excellence Zwc 21-3 Mfa a mam komin 6 m i dwa kolanka 90 a w instrukcji producenta pisze max ze przy dwóch kolankach max 5 m rury zmieszczą się tylko 60/100 Co się stanie jak o metr będzie dłuższy komin ? Pozdrawaim
Instrukcje warunkowe, typu: PRL wydziel z makra i przekształć w funkcję, do której będziesz się odwoływać, być może nie tylko z tego miejsca.
Nie wiem, czy to w ogóle możliwe. Zmienna nie jest obiektem, w związku z tym nie ma właściwości (interesująca nas name ) i może mieć tylko wartość. Żeby nie "zaśmiecać" sobie głównej procedury napisałbym funkcję, w której umieściłbym wszystkie możliwe nazwy zmiennych z przypisanymi wartościami i wybierał przez Select Case. Np Sub test() Dim...
Dla Twojego konkretnego przypadku[syntax=vb]Sub podzial() Dim bs As Worksheet, bd As Worksheet Dim r&, c&, p%, k% Set bs = ActiveSheet Set bd = Sheets.Add(after:=bs) For r = 1 To Application.CountA(bs.Columns(1)) x = bs.Cells(r, 1) k = 0 For c = 1 To 7 p = k + 1 k = InStr(p, x, " ") bd.Cells(r, c) = Mid(x, p, k - p) Next p = InStr(k, x, ",") + 3 bd.Cells(r,...
Myślę, że zwykłe czytanie (xml potraktowane jako pliki sekwencyjne) powinno poradzić. Wklej do modułu standardowego i wypróbuj [syntax=vbscript]Option Compare Text Option Explicit Sub Proba() Dim katalog As String, plik As String, linia As String Dim licznik As Long, ko As Integer, startuj As Boolean katalog = "c:\" 'podstaw katalog z xml'ami. Slash...
[syntax=vb] Sub SzukajCiagu() Dim x As Long, y As Long, z As Long, SzukaneSlowo As String x = 1 z = 1 Sheets("PrzeszukiwanyArkusz").Select While Cells(x, 1) <> "" y = 1 While Sheets("ListaSlow").Cells(y, 1) <> "" SzukaneSlowo = Sheets("ListaSlow").Cells(y, 1) If InStr(1, Cells(x, 5), SzukaneSlowo) > 0 Or InStr(1, Cells(x, 6), SzukaneSlowo)...
Zamień w odpowiednim miejscu kod na poniższy: [syntax=vb] If b Like "[ ][ ]333" Then p4 = InStr(a, " 4") p7 = InStr(a, " 7") If p4 > 0 Then x4 = Mid(a, p4 + 1, 5) Else x4 = "" If p7 > 0 Then x7 = Mid(a, p7 + 1, 5) Else x7 = "" t = t & x4 & ";" & x7 & vbNewLine End If [/syntax] Wynikiem jest: 11406;42005;70005 11414;42005;79999 11423;44013;70001 11433;;70000...
W której linii? P.S. Na końcu należy włączyć odświeżanie, przydałby się filtr dla plików Excela, na czas działania makra wyłączyłbym zdarzenia i alarmy (pliki mogą zawierać makra, itp)...[syntax=vb]Sub Merge() Dim bookList As Workbook Dim MergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object Set MergeObj = CreateObject("Scripting.FileSystemObject...
Najpierw musisz się dobrać do zawartości która jest w komórce http://www.cpearson.com/excel/values.htm Potem masz w linku który podałem wyżej funkcje InStr która zwraca Ci pozycje substringu w danym springu Ciebie nie interesuje pozycja tylko sam fakt zaistnienia m w przyadku niezaistnienia masz 0 w innym coś innego
Da się... Właściwość "Formula" zwraca zawartość komórki w postaci String. Możesz z nim robić, co Ci się podoba (Left, Rigt, Mid, InStr). Dla zobrazowania: wpisz dowolne liczby w A1 i A2, dowolną formułę operującą na tych komórkach w B1, następnie uruchom[syntax=vb]Range("C1").Formula = Range("B1").Formula Range("D1").Formula = "=B1+C1"[/syntax]
Podepnij sobie następujący kod pod przycisk i przetestuj [syntax=vb]Dim lLstRw& Dim sLiczba$ lLstRw = Cells(Rows.Count, 7).End(xlUp).Row Select Case lLstRw Case Is = 1 Cells(lLstRw, 7).Offset(1, 0).Value = Cells(2, 3).Value & "_xyz_1" Case Is = 2 Cells(lLstRw, 7).Offset(1, 0).Value = Cells(2, 3).Value & "_xyz_10" Case Is > 2 sLiczba = Mid(Cells(lLstRw,...
Kod, który znalazłem w sieci wygląda jak poniżej Szczerze? Poszukaj innego kodu (lub nagraj swój rejestratorem). Tym niczego nie znajdziesz... Może spróbuj innego rozwiązania? Zerknij [url=http://www.elektroda.pl/rtvforum/vi... - załącznik, post #14 Pierwsze pole filtra wg "zawiera" (InStr), drugie wg początku ciągu...
Nie do końca działa to rozwiązanie. Po zmianie dat wyjazdu/przyjazdu w polu I11 (arkusz 2) pojawia się #NAZWA?
Dlaczego po I11=2 idzie nie 3 tylko I12=1 ?
Może ktoś z Kolegów znajdzie szybsze rozwiązanie, ale to też działa: [syntax=vb]Sub WczytajPlik() plik = "C:\Plik.txt" Open plik For Input As #1 Sheets("Arkusz1").Select Line Input #1, l p = InStr(1, l, "|") d = InStr(p + 1, l, "|") Cells(1, 1) = Mid(l, p + 1, d - p - 1) Cells(2, 1) = Mid(l, d + 1) While Not EOF(1) jest = False Line Input #1, l p =...
Witam, jeżeli ktoś mógłby pomóc będę wdzięczny. Mam w kolumnie od A1 do A60000 powtarzające się wyrazy co 4 kolumnaA 1 laptop 2 dysk 3 karta 4 obudowa 5 laptop 6 dysk 7 karta 8 obudowa itd do 60000 Jak można byłoby to przenieść czy makro czy formułą z pionu na poziom, żeby wyglądało mniej więcej C D E F 1 laptop dysk karta obudowa 2 laptop dysk karta...
Potrzebuję napisać makro do formatowania warunkowego. Chciałabym pokolorować cały wiersz, jeśli spełnione są dwa warunki: - kolumna O > 10% oraz kolumna B zawiera tekst "styczeń", "luty", "marzec" - kolumna O > 15% oraz kolumna B zawiera tekst "kwiecień", "maj", "czerwiec" AI: Jaka wersja programu Excel jest używana? Excel 2024 AI: Czy potrzebujesz...
Och, aż tak skomplikowane toto nie jest ;) [syntax=vbscript]'przykład dla kopiowania w tym samym arkuszu z 1-szej do 11-tej Columns(11).ClearContents 'czyścimy dane w kolumnie docelowej Do While Cells(w, 1) <> "" temp = Split(Cells(w, 1), "||") For i = 0 To UBound(temp) If InStr(temp(i), "SAP") > 1 Then Cells(w, 11) = Cells(w, 11) & temp(i)...
-wartosc w kolumnie "O" sie zmieni na "X" i od ktorej jest uzalezniony kolor - wiersz w ktorym to wystapi jest w zakresie od "A - U" Analogicznie, zmień [syntax=vb]ost_col = Range("IV1").End(xlToLeft).Column[/synta... na sztywno ustalony numer kolumny:[syntax=vb]ost_col = 21[/syntax]
[syntax=vb]Function PierwszeSlowo(t As String) As String PierwszeSlowo = Left(t, InStr(1, t, " ") - 1) End Function Function Artykul(t As String) As String ps = Len(PierwszeSlowo(t)) - 1 Artykul = Mid(t, InStr(1, t, " ") + 1, InStrRev(t, "/") - 1 - ps) End Function Function TrzeciOdTylu(t As String) As String f = False For x = Len(t) To 1 Step -1 If...
Tak. Podczas programowania zgodnie z instrukcją nie zaskoczył zamek (pomiędzy ramieniem na drzwiach a elementem na pasku napędowym). Drzwi zostały w miejscu a pasek napędowy ruszył w kierunku zamykania drzwi zamiast (prawidłowo, zgodnie z instrukcją) w kierunku otwierania. Efekt jest taki że nie można mechanicznie spiąć drzwi z napędem. A sam napęd...
Coś takiego powinno zadziałać: [syntax=vbnet]Sub Makro1() Range("A2").Select While (ActiveCell.Offset(0, 6).Value <> "") If ((ActiveCell.Value = 5) Or _ (InStr(1, LCase(ActiveCell.Offset(0, 6).Value), "invoice", vbTextCompare) > 0)) Then ActiveCell.Offset(1, 0).Activate Else ActiveCell.EntireRow.Delete End If Wend End Sub [/syntax] Wymienione...
Witam! wszystko ładnie pięknie tylko nie wiem jak dojsc do tego arctg? nie mam jak to obliczyć, może exell lub coś pomoże?? Do tego się nie "dochodzi"! Można to odczytać z tablic, czyli obliczyć wyrażenie (19-2,7)/1,24= 13,15 i znajdujesz w tablicach wartość kąta dla tej wartości tg, lub na kalkulatorze naciskasz przycisk tan^-1 (tangens do minus pierwszej)....
jednak wiersze dzieli na strony To nie jest największy problem. Najważniejsze, że struktura jest zachowana. Podam wkrótce kod. Dodano po 1 [syntax=vbscript]Sub Import() Set a = ThisWorkbook.Sheets("Arkusz 1") nw = 3 Set b = Workbooks.Open(ThisWorkbook.Path & "\Plik_B.xls") owb = Cells(Rows.Count, "A").End(xlUp).Row For X = 1 To owb If InStr(1, Cells(X,...
Jest możliwe. Do znalezienia spacji poczytaj o poleceniu InStr, do wycięcia części tekstu z lewej polecenie Left, z prawej Right, ze środka Mid w VBA.
Ja zastosowałbym zwykłą sumę warunków: SUMA.WARUNKÓW($F:$F;$A:$A;$H6;$B:$B;I$4) w pierwszej komórce zakresu. Suma iloczynów nadmiernie męczy komputer (w każdym razie mój :) ). Natomiast w komórkach I41:I71 zwykłą sumę I6:L6 ... I36:L36 Ponadto datę w ostatnich dwu wierszach kolumny dni (H35 i H36 oraz H70 i H71) warto dodać jeszcze jeden warunek, żeby...
Spróbuj [syntax=vb] Sub mySplit() Dim bs As Range, mar() As String Dim r&, i&, n&, x$, xx$ Dim p&, pd&, ps&, pw&, lmi&, pn&, px&, pf&, pe&, sl& Const dig = "0123456789" Set bs = Sheets("dane").Range("b:g") r = 2 While bs(r, 1) <> vbNullString x = bs(r, 1): n = 0 If bs(r, 1).MergeCells Then n...
Ja w swoich kopiach pliku robię tak: Private Sub Workbook_BeforeClose(Cancel As Boolean) 'Step 1: Save workbook with new file name Dim dostep As String Dim katZapis As String Dim lenDostep As String dostep = ThisWorkbook.Path lenDostep = Len(dostep) ' długość ścieżki zapisu katZapis = Left(dostep, lenDostep - InStr(StrReverse(dostep), "\")) ' odcięcie...
W dwóch przebiegach - najpierw z góry na dół, a potem z dołu do góry. [syntax=vbscript]Sub Grupy() Dim ow As Long, x As Long, nr As Long ow = Cells(Rows.Count, "A").End(xlUp).Row For x = 1 To ow If InStr(Cells(x, "A"), "/") > 0 Then ' czy jest "/" ? Select Case Cells(x, "E") Case "P2" nr = Split(Cells(x, "A"), "/")(1) ' pozycja w grupie Cells(x, "H")...
ad.1 Przy zdarzeniu Change ComboBox'a sprawdzany jest każdy znak wprowadzany z klawiatury. Jeśli sprawdzany ma być tylko pierwszy, pierwszym warunkiem będzie Len(NazwaCombo.value)=1, następnie porównujesz (w pętli) z listą. Najprościej wstawić polecenie opuszczenia pętli przy pozytywnym wyniku porównania, a warunkiem kontynuowania kodu zrobić licznik_pętli...
Skoro tak, to może o to Ci chodzi? [syntax=vbscript]Sub Rozdziel() k = 1 While Cells(2, k) <> "" If InStr(1, Cells(2, k), "-") > 0 Then Cells(2, k + 1).EntireColumn.Insert ow = Cells(Rows.Count, k).End(xlUp).Row Range(Cells(2, k), Cells(ow, k)).TextToColumns _ Destination:=Range(Cells(2, k), Cells(ow, k)), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote,...
tak to fakt, brakuje tutaj End If, ale problem jest i tak z Continue For. http://msdn2.microsoft.com/en-us/library... tutaj pisza ze cos takiego jednak jest mozliwe. http://www.activevb.de/tutorials/tut_vbn... Tutaj jest podany przyklad. Trzeba troche zejsc nizej i poszukac przykladu dotyczacego Continue. Jednak ten przyklad...
Błąd izolacji zgłaszaj do wykonawcy, podobnie zmianę mocy na 1000W. Całość instalacji z projektu gminnego (ROF) objęta jest 5-letnią gwarancją licząc od ostatniego odbioru czyli ta gwarancja jeszcze się nie rozpoczęła (planowy termin zakończenia montaży to koniec czerwca 2020 chyba że się wyrobią wcześniej). Do czasu zakończenia montaży i odbiorów instalacje...
A może wystarczy podstawić separator i sprawdzić czy data? [syntax=vbscript]licznik = 1 For i = 1 To Sheets.Count 'zamieniamy separator daty /jeśli jeszcze jakieś możliwe - dopisać nazwa = Replace(Sheets(i).Name, " ", "-") nazwa = Replace(Replace(Replace(nazwa, ".", "-"), ",", "-"), "_", "-") miejsce = InStr(nazwa, "2016") 'miejsce "2016" w ciągu If...
Przyjrzałem się bliżej danym w pierwszym arkuszu i... mamy tam parę "kwiatków". Dane nie są spójne, ale ogólnie nie jest źle. Znalazłem ze 4 wyjątki, które na szczęście "mają regułę". Np: http://obrazki.elektroda.pl/2132347100_1... http://obrazki.elektroda.pl/4068974900_1... Adres też zapisany jest różnie, od lewej: "ul",...
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",...
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 <>...
Jeśli procedura zdarzeniowa to: http://obrazki.elektroda.pl/5575948000_1... Następnie wybierz interesujące się zdarzenie z listy po prawej. Argumentem przekazywanym do procedury jest przede wszystkim zmienna Target jako zakres. Z nagranego makra podstaw instrukcje, podstawiając nazwę zmiennej w miejsce odwołań do zakresu. Np Target.Copy...
Poleceniem Shell możesz uruchomić plik .bat z taką treścią: netsh wlan show network > C:\PlikiExcel\Siec.txt A potem wyciąć nazwę sieci z pliku Siec.txt. [syntax=vbscript]Sub Siec() Shell ("C:\PlikiExcel\a.bat") 'Plik a.bat: netsh wlan show network > C:\PlikiExcel\Siec.txt Set FSO = CreateObject("Scripting.FileSystemObject... Set TSO = FSO.OpenTextFile("C:\PlikiExcel\Siec.txt...
Witam, Mam dziwny problem z kodem w VBA. Próbuję przy pomocy kodu w VBA otworzyć inny plik(skoroszyt) aby pobrać dane do wyświetlenia w Combobox, niestety gdy dochodzi do próby otwarcia pliku wyświetlany jest komunikat błędu 1004 - pliku nie znaleziono lub ma inną nazwę. Jeśli napiszę tak: Workbooks.Open ("D:\Users\...\Documents\Nowy folder\xxx.xlsm")...
Jeżeli ten kod też nie zadziała, to szukaj problemu w zabezpieczeniach. [syntax=vb]Sub PobierzCSV() Sheets("Arkusz1").Select Dim Katalog As String, Plik As String, Zeszyt As String, s As String, nw As Long Katalog = ActiveWorkbook.Path & "\" Application.Calculation = xlCalculationManual Application.EnableEvents = False Application.ScreenUpdating...
dlaczego ograniczenie listy następuje dopiero po wpisaniu spacji Należy zmienić warunek porównujący stringi. Funkcja InStr szuka także wewnątrz. Np pamiętasz, że sala ma w nazwie "020" a nie pamiętasz początku. W przypadku długich ciągów metoda nie sprawdza się. Spróbuj [syntax=vb]If UCase(Left(lista(i, 2), Len(txtOpisSali.Text))) = UCase(txtOpisSali.Text)...
Zakisił Ci się jakiś błąd w arkuszu "podział na kolory". Przynajmniej w tym załączonym pliku. Trzeba było zrobić kopię i to dopiero w Calc (!). Moja propozycja: -ComboBox, wypełniany przy WorkbookOpen z arkusza "Opcje" (możesz sobie dopisywać kolory) -dodatkowa gałąź w instrukcji If sprawdzająca Indeks ComboBoxa -dodatkowy warunek z wykorzystaniem InStr...
Tu poprawiony kod (bo ja z kolei wszędzie dałem Wszystkie) [syntax=vb]Private Sub filtruj(knyps As Boolean) Dim ark As Worksheet, ostW As Long, i As Long Dim etat As String, firma As String, szef As String, kopalnia As String, wie As Variant Set ark = Sheets("Anketa") wie = TextBox6 Application.ScreenUpdating = False ' ark.Unprotect Password:=haslo...
Tablet został przywieziony z Holandii, nie mam do miego instrukcji. Syn zablokował go jakimś wzorem i zopomniał go. Próbowałem zrobić reset factory (vol+power) wyskakuje leżący andriod z wykrzyknikiem tylko, że nie ma żadnego menu (w innym tablecie jest menu). Próbowałem LiveSuite ale nie może znaleźć sterowników, PhoenixCard też nie pomógł, wyskakuje...
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,...
Używam E2007 i u mnie działa. Spróbuj podmienić na Range("K5:H7,I10:I11,I1... = True Nie pamiętam, czy miało być: i10:i13? Możesz też próbować umieścić ją na samym początku (przed wypełnieniem nagłówków). Po tej linii można dać wyśrodkowanie w pionie (chyba brakuje) Range("I10").VerticalA...
ok, dzięki za odpowiedź, ale Twój sposób zmieni rozmiar całego obiektu a mi chodzi tylko wypełnienie Dodano po 23 Dlaczego dla mnie to takie ważne? Poniższy fragment kodu dodaje do tego objectu po za wypełnieniem w formie kodu qR dwie linijki tekstu z próba oraz kkodem qR zapisanym alfanumerycznie. Teraz tych napisów nie widać przez nachodzący na nie...
Przed Tobą jeszcze sporo pracy. Zawodników na liście powinno się wybierać wg drużyn, a nie z pełnej listy. W formułach takich jak te z H10:I11 unikaj pustych tekstów, bo nie poradzisz sobie z porównywaniem. Spróbuj, co by było gdyby drużyna 1 nie strzeliła bramki. Formuła do zliczania bramek zawodników: [syntax=text]=SUMA.JEŻELI('MECZE - GRUPA A'!$E$14:$E$350;'LISTA...
Excel potrafi rozróżnić liczbę od tekstu i... to wszystko. W podanym przykładzie wyszukuję słowa kluczowego: nazwa (Chleb, Bułka) i zakładam , że rodzaj jest w następnej kolumnie. Jeśli chcesz to doprowadzić do ideału, musiałbyś zdefiniować tabele z wszystkimi możliwymi wartościami, następnie porównywać z wartościami z wszystkich kolumn. Raczej nie...
Uwagi: Set Drng = Arkusz1.Range("B6") Brak deklaracji tej zmiennej - inne są, jeśli w kodzie pojawi się instrukcja " Option Explicit " będzie błąd Oferta = Drng.End(xlDown).Offset(-1, 0).Value Będzie pobierać wartość nie z ostatniego wiersza "tabeli/kolumny", ale z przedostatniego - czy taki był zamysł ? Tabela = Split(Oferta, "/") Nr = CInt(Tabela(0))...
Zawsze warto napisać, w której wersji Excela ma pracować to rozwiązanie, bo w różnych wersjach są dostępne różne funkcje. Jeśli chodzi o rozdzielenie formułą do osobnych komórek danych rozdzielonych średnikami, to na upartego się da, ale to dość złożone. W tym przypadku sugerowałbym użycie VBA i funkcji UDF, która przetwarzałaby listę rozdzieloną średnikami....
Wydaje mi się, że bardziej chodzi o wybieranie wielu w oknie 'GetOpen'. Nie wnikając w "panel" i "remonty" powinno być coś takiego: [syntax=vbscript]Sub Wczytywaniedancyh() Dim otwieranie As String Dim tb() As Variant, test As Boolean, i As Integer Dim plik As String Dim kopiowanie As String Workbooks("Panel").Activate otwieranie = MsgBox("Wybierz plik",...
Można to zrobić np. za pomocą VBA. Napisałem funkcję UDF, która tworzy listę (tablicę) nazw miejscowości odczytanych z zakresów wg podanego schematu. Wywołanie funkcji: [syntax=text]=List3D(schemat adresu)[/syntax] schemat adresu zawiera nazwę arkusza ze znakami zastępczymi w postaci akceptowanej przez operator Like w VBA, to znaczy w tym przypadku:...
Żeby ten kod co masz zadziałał, powinien wyglądać mniej więcej tak: [syntax=vb]Private Sub CommandButton1_Click() For Each c In ActiveSheet.Range("A1:IV1") 'tu mozna zawezic przeszukiwany zakres If c = "Product" Then Range(Columns(c.Column + 1), Columns(c.Column + 4)).Select Selection.Insert Shift:=xlToLeft, CopyOrigin:=xlFormatFromLeftOrAbove Cells(c.Row,...
Jeśli dobrze zrozumiałem, zamień linijkę: [syntax=vbscript]If NazwaPliku = lp & ro(y) Then [/syntax] na taką: [syntax=vbscript]If InStr(NazwaPliku, lp) > 0 And Right(NazwaPliku, Len(ro(y)) = ro(y) Then[/syntax]
Skoro masz takie wariacje wpisów jak podałeś w formule (w sumie nie ma się co dziwić przy ręcznym wpisywaniu inwencja twórcza wpisujących nie zna granic), to spróbuj wyrażeń regularnych: [syntax=vb]Sub kody_RegEXP() Dim lLstRw& Dim i& Dim sCol$ 'kolumna z danymi sCol = "H" With ActiveSheet lLstRw = .Cells(Rows.Count, sCol).End(xlUp).Row For i = 2 To...
[syntax=vbscript]Sub CzytajFoldery(Folder) For Each Podfolder In Folder.SubFolders CzytajFoldery Podfolder Next For Each Plik In Folder.Files If Plik.Name = "Przykladowy_plik.ini" Then Open Plik For Input As #1 Input #1, i i = Mid(i, InStr(1, i, "=") + 1) Input #1, n n = Mid(n, InStr(1, n, "=") + 1) Input #1, p p = Mid(p, InStr(1, p, "=") + 1) Cells(nw,...
Proszę. 'Exit For '<- tu można dodać wyjście z pętli klucza (w celu uniknięcia duplikatów) End If Else Exit For End If Next Else Exit For End If Next arkusz_filtra.Activate ActiveWindow.SplitColumn = 0 ActiveWindow.SplitRow = 1 ActiveWindow.FreezePanes = True Application.ScreenUpdating = True End Sub [/syntax]
Mała poprawka: [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Column = 11 Then Dim ar() As String q = 0 a = Split(Target, " ") For aa = 0 To UBound(a) For x = 5 To 13 If Cells(x, 4) = a(aa) Then For Z = 5 To 9 If Cells(x, Z) = "X" Then c = Cells(4, Z) If InStr(1, b, c) = 0 Then ReDim Preserve ar(q)...
Sub stary_nowy() Const mark = "?" 'tu dopasuj swoj marker np. "*", "#", "$" listpath = "D:\lista.xls" 'tu dopasuj sciezku do listy, oddzielny plik, tylko jeden arkusz Dim lista As Range With Workbooks.Open(listpath) Set lista = Sheets(1).Range("A:...
plik zawiera 10 przykładowych wpisów ."Błąd instruktora" jest pomyłką, dopiero teraz zauważyłem
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.
Myslim, ze tylko makro w kodzie arkuszu[syntax=vb]Private Sub Worksheet_Change(ByVal Tgt As Range) If Tgt = "" Then Exit Sub p = InStr(Tgt, ",") l = Len(Tgt) + 1 If p Then l = p Tgt.NumberFormat = "0." & String(7 - l, "0") End Sub [/syntax]
Kod podany przez adamas_nt z dodatkową instrukcją warunkową i datami wpisanymi w komórkach I2 i I4. Sub SumaKolor() suma3 = 0 With Sheets("Arkusz1") For i = 2 To .Range("A1").End(x... If (Cells(i, 1).Value >= Cells.Range("I2")) And (Cells(i, 1).Value...
W samym NET, można to zrobić, myślę, że ktoś kto 'siedzi' w VBA, dopasuje poniższy kod [syntax=vbnet] Dim szukanaNazwa as string ='tabela' for each file in Directory.GetFiles If instr(file.name,szukanaNazwa,Text) <> 0 then 'Jakaś procedura,która otworzy plik, ten plik ma w nazwie tabela OtworzPlik(file.name) exit for end if next [/syntax]
z funkcjami InStr, Mid, Len Raczej Split. [syntax=vbscript]Sub DaneOsobowe() a = InputBox("Podaj dane rozdzielając je przecinkiem.") b = Split(a, ",") For x = 0 To UBound(b) Cells(x + 1, 1) = LTrim(b(x)) Next End Sub [/syntax]
może kolega zaproponowałby tak owe rozwiązanie A proszę bardzo (tylko "Forms" to nie "pytanie" a "obiekty" innymi słowy okienka): Kłopot polega na tym że jak dopiero zaczynasz to możesz się zniechęcić patrząc na "aż tyle" nowości - mimo że wbrew pozorom to nie jest trudne do zrozumienia. Krótka instrukcja: Dopóki nie zamkniesz okna i będziesz wciskał...
https://obrazki.elektroda.pl/1034843600_... Czyli mamy tak: 1) Okienko ze zmiennymi danymi. Są tutaj ograniczniki prędkości: RQ-250, LK-250, LK-200 itp. Po prostu wcześniej będzie się wybierało w projekcie dany element i w tym okienku będzie właściwa nazwa. 2) Mamy guzik kopiuj który po kliknięciu robi całą operację. 3) Kopiujemy po...
demon instr matiz instr texas instr
płyta indukcyjna schemat amica slican admin zimnego nawiewu
philips senseo sterownik ładowarki akumulatora
Potencjometr balansu nie działa we wzmacniaczu Nierówne kanały wzmacniacza i brak reakcji potencjometru