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]
Patrz tabela w dziale "programowanie" str73 instrukcji ( ten punkt jest możliwy tylko przy wyjętej wtyczce A4).
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]
Ma ktoś jakiś pomysł? Teraz chyba będzie jasne :) https://obrazki.elektroda.pl/1782827600_...
: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...
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...
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ś...
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...
Instrukcja di Ultra Excellent:
"Jaki sens ma deklarowanie zmiennej obiektowej typu Workbook w obrębie jednego skoroszytu (jak wynika z Twojego kodu)?" Moja odpowiedź dla naszego początkującego kolegi ma mieć walory edukacyjne, dlatego zastosowałem taką konstrukcję. Może się wydawać trochę bez sensu w tak prostym przypadku, ale przy złożonych aplikacjach mających setki może tysiące...
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]...
Nie ma Continue w VBA. Może chodzi ci o coś takiego? Sub przyklad() Dim i As Integer For i = 2 To 21203 For j = 2 To 21264 If Cells(i, 1) = Cells(j, 2) Then Cells(i, 3) = Cells(j, 4) Else goto nxt End If nxt: Next j Next i End Sub
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]
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) & "...
Skoro tak to zmień funkcję InStr na InStrRev - wyszukuje i zwraca pozycję pierwszego wystąpienia znaku "od końca"
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]
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
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...
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.
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,...
Witam :) Wiem, że ten temat już był, ale nic nie rozumiem co i jak mam zrobić :/ próbowałam różnymi sposobami, ale niestety nie umiem/ nie rozumiem co mam zrobić ;/ czy mogłby ktoś tak krok po kroku mi opisać , jak ja mam to zrobić ?
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...
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...
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...
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.
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 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...
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")...
Mam problem z pralką Bauknecht WA3574 Excellence Na każdym programie popierze jakies 15 minut potem staje wszystko mruga i piszczy ;) i wyskakuje na wyswietlaczu kod E4 i juz nic sie nie da zrobic trzeba wylaczyc i od nowa to samo . Bardzo prosze o pomoc. A może ktoś z Was ma instrukcje do tej pralki lub link ? i kody błedow co oznaczaja ?
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,...
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",...
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...
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 <>...
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",...
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...
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...
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...
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...
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...
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...
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,...
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...
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...
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...
http://swannman.github.io/pdf2gerb/ http://chomikuj.pl/MiniPLC/PDF+to+GERBER Strona 1 Pdf2Gerb 1.6 1 z 11 Spis treści 1. Przegląd ........................................... ........................................... ................................. 1 2 Instalacja / konfiguracja ........................................... ...........................................
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",...
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....
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:...
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.
plik zawiera 10 przykładowych wpisów ."Błąd instruktora" jest pomyłką, dopiero teraz zauważyłem
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]
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]
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ł...
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]
demon instr matiz instr texas instr
zepsuty wyświetlacz miernik ciągłość obwód edacs częstotliwość
brumienie laptop siemens eq300
Mercedes Sprinter 2009 2.2 CDI - Nieregularne odpalanie Wyłącznik przeciążeniowy dla silnika 5V DC - jak dobrać?