Rzeczywiście ten opis jest ciężkostrawny, nie wiadomo, kiedy chodzi o ilość, a kiedy o numer. Na przykład: wynik połączony z wierszy 3 z kolumnami odczytać "z trzech wierszy" czy "z trzeciego wiersza"? Załącznik nieco wyjaśnił, chociaż przydałby się jeszcze oczekiwany wynik. Poza tym arkusz jest tak rozbudowany, że mam wątpliwości, czy wszystko jest...
[syntax=vbscript]Sub NowaKolumna() nk = Cells(60, Columns.Count).End(xlToLeft).Column + 1 Range("H60:H80").Copy Cells(60, nk) Application.CutCopyMode = False End Sub [/syntax]
Zauważ, że arkusz niue nazywa się "mm.dd.yyyy" tylko ma konkretną datę jako nazwę więc lepiej w ten sposób: select.end ale tak też można. I druga rzecz. Ta funkcja też ma pewien błąd. Trzeba podać datę początku i datę końca. Nie wiem co chciałeś osiągnąć chyba że jakimś kodem którego akurat ja nie stosuje/nie znam. [syntax=vb] Range("H2").FormulaR1C1...
[syntax=vb]Sub zz() Dim iLstCl% Application.ScreenUpdating = False iLstCl = Cells(4, Columns.Count).End(xlToLeft).Column For i = iLstCl To 3 Step -1 If Cells(4, i).Value = 1 Or Cells(4, i).Value = 2 Then 'zamiast powyższego warunku przy takim nazewnictwie kolumn można dać poniższy warunek: 'If IsNumeric(Cells(4, i).Value) = True Then Columns(i).EntireColumn.Delete...
Dzień dobry, Można spróbować takie makro: [syntax=vb]Sub Uzupełnij() Dim wiersz As Long, wzor As String wzor = "" wiersz = 1 Do If Cells(wiersz, 1) <> "" Then wzor = Cells(wiersz, 1) Else: Cells(wiersz, 1) = wzor End If wiersz = wiersz + 1 Loop Until wzor = "koniec" End Sub[/syntax] Powinno spełniać założenia. Pozdrawiam.
potrzebuję datę np 15.10.2021 rozdzielić na dzień 15 i miesiąc 10. Następnie połączyć dane z innej kolumny z dniem i miesiącem. Proponuję zamiast kombinować z makrem wprowadzić do kolumny H (tej ze złączeniami) prostą formułę :idea: :D : =E2&" "&TEKST(DZIEŃ(F2);"00")&"."&TEKST(MIESIĄ... i przeciągnąć ją w dół :D , albo nagrać sobie makro...
Coś takiego: [syntax=vb] Sub szukajDanejWartosci() Dim danaWartosc As Variant Dim liczbaWierszy As Integer Dim liczbaKolumn As Integer Dim i As Integer Dim j As Integer liczbaWierszy = 20 liczbaKolumn = 4 danaWartosc = 0 '<-- TEJ wartości szukasz w arkuszu For i = 1 To liczbaWierszy For j = 1 To liczbaKolumn If (Cells(i, j) = danaWartosc) Then 'MsgBox...
[syntax=vbscript]Function Polacz(z As Range) As String For Each k In z If k <> "" Then p = p & k & "," Next If p <> "" Then Polacz = Mid(p, 1, Len(p) - 1) End Function[/syntax]
chciałbym napisać proste makro, które po przypisaniu do kontrolki formularza lub kontrolki activeX wykona takie zadanie Po co bawić się w "przyciski" jak można przez 'doubleclick' Kliknij dwa razy na dana cyfrę.
[syntax=vbscript]Do While .Cells(x, 20) <> 0[/syntax] podmień na: [syntax=vbscript]Do While Not IsError(.Cells(x, 20))[/syntax]
W załączniku przykład.
[syntax=vb]Sub q() Application.ScreenUpdating = False Application.Calculation = xlManual Sheets("1").Select ow = Cells(Rows.Count, "A").End(xlUp).Row For X = 2 To ow i = Cells(X, 2) y = 0 While Cells(X + y, 2) = i y = y + 1 Wend y = y - 1 k = 5 Cells(X, 4) = Cells(X, 2) For Z = X To X + y Cells(X, k) = Cells(Z, 3) k = k + 1 Next X = X + y Next Application.Calculation...
Spróbuj tak [syntax=vbscript]Private Sub Test_Click() Dim zakresy As Variant, z As Integer, zakres As Range, kom As Range zakresy = Array("AQ16:AQ22", "AQ26:AQ30", "AQ37:AQ39") Sheets("Klient").Range("A18:H32").ClearC... poz = 18 'For w = 18 To 79 For z = 0 To UBound(zakresy) Set zakres = Sheets("Wycena").Range(zakresy(z)) For Each kom In zakres...
Z czym dokładnie masz problem? Nie napiszemy całego skryptu za Ciebie. Pokaz, co już masz, a wtedy doradzimy. Kolumnę zaznacza się tak: [syntax=vb]Columns(2).Select[/syntax]
[syntax=vb]Sub Powiel() x = 1 Z = 1 While Cells(x, 10) <> "" For y = 1 To Cells(x, 11) Cells(Z, 13) = Cells(x, 10) Z = Z + 1 Next y x = x + 1 Wend End Sub [/syntax]
A tak patrzyłeś? [syntax=vbscript]Sub scrape() Dim i2 As Integer Dim ie As Object Dim x As Long Set ie = CreateObject("InternetExplorer.Applicati... For x = 1 To Cells(Rows.Count, 1).End(xlUp).Row With ie .Visible = True .navigate Worksheets("Sheet1").Range("A" & x) Application.Wait (Now + TimeValue("0:00:02")) Do DoEvents Loop Until ie.readyState...
Witam [syntax=vb] Sub podzial_pliku() Dim kol As String Dim wiersz As Integer Dim nazwa As String Dim ark As Worksheet kol = InputBox("Podaj litere kolumny na podstawie ktorej nastapi podzial plikow", "Pytanie") wiersz = InputBox("Podaj numer wiersza od ktorego zacznie sie podzial plikow", "Pytanie") Range(kol & wiersz).Select Set ark = ActiveSheet...
Dodano po 3 [syntax=vb]Sub Copy() For Each cell In Sheets(2).Range("A:A") If cell.Text = "" Then Exit For Rows(cell.Row & ":" & cell.Row).Copy Sheets(cell.Value).Cells(Rows.Count, 1).End(xlUp).Offset(1) Next End Sub [/syntax] tak dobrze
Witaj. Zakładając, że oryginalne dane na pierwszym arkuszu, a wynik na drugi: [syntax=vb]Sub upraw() Dim bsk As Range, bsr As Range Dim rb&, rd&, cd&, cm& Set bsk = ThisWorkbook.Sheets(1).Columns(1).Cells Set bsr = ThisWorkbook.Sheets(1).Range("B:J").Rows rb = 2: rd = 2 With ThisWorkbook.Sheets(2) bsk(1).Copy .Cells(1, 1): bsr(1).Copy...
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...
Chciałbym poprosić o pomoc w związku z makrem które, muszę zbudować. Mianowicie chodzi mi o to że mam tysiąc komórek które wyglądają mniej więcej tak: dzbanek_02-01-2008_K20 W VBA możesz użyć czegoś takiego: Do moderacji: Wiem, że odświeżam temat, ale może ta krótka instrukcja się komuś przyda, bo autor pewnie już sobie poradził. Usuwajcie jeśli uznacie...
Asus F3SSeries Duo T7250 2,0 GHz 1Gb RAM Vista32 Dodano po 5 Dim start As Integer, finish As Integer start = Timer Debug.Print Timer wynik 50609,88
Pomogę w ten sposób: Tak przypisujesz nazwę z danej komórki Nazwa_z_komorki = Worksheets("KON").Cell... 1).Value i podobnie ilość Ilosc_z_komorki = Worksheets("KON").Cell... 2).Value Do powyższego cells(nr wiersza,nr kolumny) dodanie arkusza: Sheets.Add Nadanie nazwy arkuszowi: ActiveSheet.Name...
Ręce opadają :) To co Ty właściwie chcesz zrobić? ale jeśli dane są pobierane z internetu Dane z internetu wprowadzaj od razu do "z góry upatrzonego" zakresu. lub np z innej komórki Oprogramuj tą "inną komórkę"... Co to znaczy "z automatu"? Żeby coś się zmieniło w arkuszu, najpierw musi się coś wydarzyć.
Jeśli dobrze zrozumiałem opis, to coś takiego powinno spełnić te założenia: [syntax=vbscript]Private Sub CommandButton1_Click() On Error GoTo myErr Application.ScreenUpdating = False If FilterMode Then ShowAllData Set srcSheet = ActiveSheet ost_w = Range("A" & Rows.Count).End(xlUp).Row ost_col = Cells(1, Columns.Count).End(xlToLeft).Column 'generowanie...
w pierwszym wierszu dla kolumny jest słowo "Tak" Dla tego trzeba jedna linijka[syntax=vb] Sub kopia() If ActiveSheet.Range("A1") = "Tak" Then ActiveSheet.Copy End Sub[/syntax]
A jak zmienić kod aby do zmiany wartości była uwzględniana tylko kolumna C, ale skrypt był wyzwalany po zmianie w kolumnach B, C, D. Do tych kolumn wklejam jednocześnie dane, po wklejeniu danych do trzech kolumn skrypt nie działa. Wstępna ocena dostępnych informacji Witam ponownie, Zrozumiałem, że chce Pan zmodyfikować skrypt w Google Apps Script tak,...
HiFi-Man , powinieneś odróżniać makra (makroinstrukcje) od funkcji, bo Twoje pytanie jest przez to niezrozumiałe. Makro to działanie wykonywane jednorazowo, doraźnie. Po wykonaniu wynik ma najczęściej formę stałej (liczby lub tekstu). Makro można powiązać ze skrótem klawiaturowym i uruchamiać go za pomocą tego skrótu. Z kolei funkcja (lub w tym przypadku...
;) Tak, na spokojnie. To makro bardzo ładnie działa :)
Filtr działa, wg Twoich danych i ustawień tylko 1 data jest większa niż dzień dzisiejszy. Może przyjęłaś błędne założenia ? Oczywiście trzeba zmienić nazwę arkusza i numer kolumny wg której makro ma filtrować dane ...
Możesz użyć takiego makra zdarzeniowego: [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 3 Then Exit Sub If Target.Count > 1 Then Exit Sub If Target.Value = "B" Then Application.EnableEvents = False Cells(Target.Row, 2).Value = WorksheetFunction.Max(Columns(2)) + 1 Application.EnableEvents = True End...
Raz będę potrzebował jednych danych a raz drugich. No to musisz sobie rozdzielić makro na dwie procedury np. [syntax=vbscript]Public Sub wybierzco40() Application.ScreenUpdating = False With ActiveSheet x = Cells(Rows.Count, 1).End(xlUp).Row s = 40 For i = 1 To x If i = s Then Cells(i, 3) = Cells(i, 1).Value s = s + 40 End If Next End With Application.ScreenUpdating...
A to? [syntax=vbscript]Sub WstawWiersze() x = 2 While Cells(x, "C") <> "" y = x + 2 Rows(y).Insert Cells(y, "C") = Cells(x + 1, "C") Cells(y, "D") = Cells(x, "D") + Cells(x + 1, "D") 'tutaj sumuj kolejne kolumny Range("D" & y & ":I" & y).NumberFormat = "0" x = x + 2 Wend End Sub [/syntax]
a co masz na myśli mówiąc "...podstawiać formuły w osobnej pętli"? Wstaw kolumny, wpisz ręcznie formuły sumowania i przepisz argumenty do makra. Po zakończeniu pętli wstawiającej kolumny i nagłówki (usuń linię z wstawianiem sum), dopisz następną wpisującą tylko formuły.
Dalej jest źle bo nie to spakowałeś ale już stworzyłem sam. Na razie bez makro ale dodałem kolumnę pomocnicza D (Jak masz dane to prawy klawisz myszy na literę kolumny D i "Wstaw"
Wg mnie nie uda ci sie tego zrobić w jednej kolumnie. Chyba że zastosujesz makro. Bez makro będzie to wyglądać tak jak w załączniku. Wada: jeżeli masz dużo wierszy to może ci w jednym arkuszu zabraknąć kolumn.
Podstaw zmienną z Nr kolumny wyniku wyszukiwania: kol =Cells.Find(..). column ActiveSheet.Range("$A$2:$P$697").AutoFil... Field:= kol , Criteria1:=RGB(255, _ 199, 206), Operator:=xlFilterCellColor
Tam w tej komórce z FZ występuje numeracja pierwsze Fz to FZ1 ale nie wiem czy numer tutaj ma znaczenie. Ma o tyle, że do tej pory sprawdzałem, czy wartość komórki = FZ, teraz trzeba sprawdzić, czy w łańcuchu znaków, będącym wartością komórki, znajduje się fragment FZ. Dodatkowo w komórkach A pod fz znajdują się głównie cyfry bądź puste pole więc może...
Jak masz tak ładnie popisane "stare:xxxxxxx" i "nowe:yyyyyy" we wszystkich wierszach to nawet nie musisz sięgać ani do wyrażeń regularnych, ani do VBA :please: Wystarczy zrobić odpowiednią formułę (na bazie fragment.tekstu) w kolumnach C i D i przeciągnąć ją na dół kolumny :idea: :idea:
wpisywane "ręcznie", a nie poprzez formuły - jak ogarnąć drugą część mojego problemu? Żeby wykorzystać makro zdarzeniowe :D to proponuję wykorzystać jednak inną kolumnę np. wolną obecnie kolumnę A :spoko: . W załączonym pliku proponuje w przedostatniej komórce kolumny A wprowadzić wartość 1 , a wówczas cały ten wiersz (od B do AH) zostanie wstawiony...
A jesteś w stanie określić w którym momencie jest uruchamiana procedura "ListaForName" ? I jeszcze jedna próba: jak masz włączony twój plik to: jeżeli masz excel 2003 wybierz menu Narzędzia - Makro - Makra ... - zaznacz "ListaForName" - kliknij uruchom i sprawdz czy jest lista w kolumnie V arkusza Admin jeżeli masz excel 2007 i wyżej to wskaż kartę...
Jeśli dobrze zrozumiałem Twoje potrzeby :?: To efekt taki jak na zrzucie 1011231 tzn. po wpisaniu numeru kontraktu zakupu makro automatycznie wyszukuje "wstecz" (tzn. do góry :D ) czy już wystąpił taki numer i jeśli tak - to wprowadza do kolumny D ilość pozostałą z wcześniejszej transakcji :spoko: 1011234
Zobacz, czy o to chodziło. Makro do kopiowania: [syntax=vbscript]Sub Kopiuj() Dim b As Worksheet Dim ow As Long Set b = Sheets(ActiveSheet.Index - 1) ow = b.Cells(Rows.Count, "A").End(xlUp).Row - 1 Dim CopyRng As Range, PasteRng As Range b.Range("A4:B" & ow).Copy ActiveSheet.Range("A4").PasteSpecial Paste:=xlPasteValues b.Range("N4:O" & ow).Copy ActiveSheet.Range("N4").PasteSpecial...
Oj rzeczywiście. Na próbce ~2000 wierszy makro, na mojej maszynie (przed uruchomieniem należy usunąć dane z kolumny B/Arkusz1), potrzebuje... mnóstwo sekund. Twój pomysł, zdaje się, przedni. "Poruszając się" od ostatniego wiersza w górę, po posortowanej kolumnie, makro działa jakby, hmm... nieco szybciej. Tu porównanie czasów: http://obrazki.elektroda.pl/9019467800_1...
Dziekuje serdecznie za znalezienie źródła problemu. Teraz pozostaje pytanie jak temu zaradzić? Czy jest jakiś sposób, aby zapętlenia uniknąć i żeby wszystko działało tak jak należy?? Jak mogę zmienić procedurę żeby nie powodować zawieszania? Czy potrzeba może stworzyć osobne makra, działające niezależnie od siebie? Może stwórz makro wpisujące wartości...
Zdecydowanie łatwiej się porozumieć na bazie załączonego pliku . Widać wtedy różne niuanse, które mogą wydawać się z pozoru nieistotne, a poza tym można przetestować proponowany kod. Powinien działać kod: [syntax=vbnet]ActiveCell.Value = Application.WorksheetFunction.VLookup("s... Worksheets(Range("B6").Value).Range("A:E... 5, False)[/syntax]Zakładam,...
otwiera się Arkusz 2 zaznaczając pustą komórkę kolumny B (ewentualnie dodaje nowy pusty wiersz) Patrząc na załączony plik nie mogę zrozumieć w jakim celu chcesz zrobić to makro :?: :cry: Jeśli chcesz szybko weryfikować odniesienia do arkusza 2 to najprościej proponuję makro w arkuszu 1 :spoko: : [syntax=vbscript]Private Sub Worksheet_BeforeDoubleClick(ByVal...
lanzul , teraz to już za bardzo kombinujesz ;-) Przecież załączony csv ma wyraźnie 3 kolumny z danymi, co nawet zaznaczała autorka wątku ... :-)
makro które będzie na podstawie porównania wiersza i kolumny wstawiało znak " "X" Makro VBA można wykorzystać do automatyzacji wielokrotnie powtarzanych czynności w aplikacjach Office :idea: Nie przedstawiłeś kolego żadnych plików, ani żadnych informacji, które wskazywały by, że w Twoim przypadku istnieje jakakolwiek możliwość zastosowania kodu VBA...
Dodatkowe kolumny z Łączenie A & B & C Tam zastosować podaj pozycie
sumowanie kolumny makro makro sumowanie kolumny makro usuwanie kolumny
obliczanie filtrów górnoprzepustowych regeneracja ogniw akumulator urwany kluczyk
pompa ciepła electrolux eem72310l
Zamiennik tranzystora J13009-2 w myjce ultradźwiękowej Jak wyjąć szufladę w pralce Mastercook PF-73?