Jeśli adresy w podglądzie są prawidłowe, to podstaw kopiowanie. [syntax=vbscript]Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Arkusz2") wdst = 3 With ws For w = 2 To 812 Step 6 For k = 11 To 24 Step 3 'podgl = Range(Cells(w, k), Cells(w, k + 2)).Address(0, 0) & " kopiuj do " & Cells(wdst, 8).Address(0, 0) .Range(.Cells(w, k), .Cells(w, k +...
[syntax=vbscript]Sub DoBazy() kol = Application.Match([C3], Sheets("Baza").Range("A1:GR1"), 0) If Not IsError(kol) Then For i = 1 To 260 Worksheets("Baza").Cells(i, kol) = Worksheets("DoBazy").Cells(i, 3) Next i MsgBox ("Dane dla daty " & [C3] & " zostały skopiowane") Else MsgBox "Brak danych." End If End Sub [/syntax]
Może to Ci pomoże. Makro, dla podanej "szukana" przeszukuje każdy wiersz. Jeżeli znajdzie szukaną to kopiuje cały wiersz i przenosi do innego arkusza Dodano po 3 jeszcze raz bez zbędnych żeczy :) [syntax=vb]Sub Szukaj() Dim wiersz As Integer, kolumna As Byte, szukana As String, NumerWiersza As Integer Dim lastRow As Integer With ActiveSheet lastRow...
Uruchom poniższy kod w aktywnym Arkuszu3 [syntax=vb]Sub z() Dim iLstRw% Dim iLstNmRw% Dim rRng As Range j = 3 With Sheets("Arkusz1") iLstNmRw = .Cells(Rows.Count, 6).End(xlUp).Row Set rRng = Range(.Cells(6, 6), .Cells(iLstNmRw, 6)) End With iLstRw = Cells(Rows.Count, 1).End(xlUp).Row For i = 7 To iLstRw rRng.Copy Destination:=Cells(j, 9) Range(Cells(j,...
"#N/A" - to jest angelskie, w VBA tak ma byc, N/D(w komorce) myslim ze narodowe(Local)
Czy jest to możliwe aby to makro wpisywało w komórkę wcześnij zaznaczoną/odznaczoną (zanim się je uruchomi)?byłoby super jeśli jest taka możliwość. Tak. Zamiast: Range("A1") = lst Wpisz: Acivecell = lst
Bez sprawdzania [syntax=vbscript]Dim kom As Range For i = LBound(tblArkusze()) To UBound(tblArkusze()) With Sheets(tblArkusze(i)) Set rngTmp = .Range("O2:O" & Cells(.Rows.Count, "B").End(xlUp).Row) With rngTmp.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=$BY$2:" & Range("BY2").End(xlDown).Address...
Zaczynając od wiersza 2 wykonujesz pętlę dopóki w A jest niepuste. Czyli np. jakoś tak:[syntax=vbnet] Sub Sumowanie() Dim Y As Long, S As Double Y = 2: S = 0# Do While Cells(Y, "P") <> "" If Cells(Y, "P") <> 0 Then S = S + Cells(Y, "P") Else Cells(Y, "R") = S: S = 0# End If Y = Y + 1 Loop Cells(Y - 1, "R") = S MsgBox "Gotowe" End Sub [/syntax]
Może tak: [syntax=vbscript]Sub Duplikaty() Application.ScreenUpdating = False ow = Cells(Rows.Count, "A").End(xlUp).Row For w = 1 To ow For k = 1 To 8 If Cells(w, k).Interior.ColorIndex = 6 Then Cells(w, "K") = "Puste pole" If Cells(w, k).Interior.ColorIndex = 3 Then Cells(w, "K") = "Dulikaty" Next Next Application.ScreenUpdating = True End Sub [/syntax]
Niestety dalej się zapętla. A jest możliwość dla osobnego buttona? tak żeby były buttony: Start Stop 1. Niemożliwe, pewnie kod przycisku masz w innym module niż procedurę. 2. To nie jest konieczne.
Witam Widzę tu "czary mary" [syntax=vbnet]Application.DisplayAlerts = False With wkb2.Sheets(2) .Delete End With With wkb2.Sheets(1) .Name = "Lista odczytowa" End With Application.DisplayAlerts = True [/syntax]
Czułem, że trzymasz coś w rękawie ;) Z takim pryszczem poradziłabyś sobie. Spróbuj takiej pętelki [syntax=vb]Sub Merguj() Dim wrs As Long, merg As Long wrs = 1 merg = wrs Application.DisplayAlerts = False Do While Cells(wrs, 1) <> "" If Cells(wrs, 1) <> Cells(wrs + 1, 1) Then With Range(Cells(merg, 1), Cells(wrs, 1)) .Merge .HorizontalAlignment...
wyeksportowania bez pętli Pętla ma zostać. Otwieranie i zamykanie pliku ustaw poza pętlą. Otwieranie przed, a zamykanie po pętli.
Będę bardzo wdzięczna za pomoc Na forum jest wiele podobnych przypadków. Proponuję nagrać makro, a następnie użyć metod (pętli) ze wspomnianych przykładów.
Skoro raport ma 300000 wierszy, to zmienna i musi być zadeklarowana jako long. W którym miejscu Twoje makro się zatrzymuje? A tak w ogóle to zamiast mozolnego porównywania każdej komórki z elementami tablicy przy pomocy pętli to poszedłbym w sprawdzenie przy pomocy odpowiednika arkuszowej funkcji PODAJ.POZYCJĘ czy wartość danej komórki jest w tablicy....
Przecież już tą kwestię Ci rozwiązałem w makrze kilka pozycji do góry. Chodzi o to makro pracujące w pętli for. Należy tylko podać w pętli for argument jak wiele artykułów ma sprawdzać. Można też to makro rozbudować aby samo sprawdzało ile jest rekordów i zapisywało do zmiennej.
Jest w kodzie arkusza (nie w module). Procedur zdarzeniowych oraz 'Private' nie widać w menu 'Makra'.
Zacznij od dodania na początku procedury Application.ScreenUpdating = False. Skróciłbym też kod: [syntax=vbscript]y = 1 For i = 1 To 7 For x = 1 To 18 Sheets("KOR").Cells(1, lastcolumn + y + (i - 1) * 18) = "nazwa" & y & "_" & i y = y + 1 Next Sheets("RAT").Activate Sheets("RAT").Range(Cells(1 + i, 1), Cells(1 + i, ile_kolumn)).Copy Sheets("KOR").Range("A1").End(xlToRight)...
Kod czego ... pętli ... tablicy ? Pętli przecież masz, a tablica niekoniecznie potrzebna, można np. tak (o ile problem poprawnie opisany): [syntax=vbscript]Option Explicit Private Sub CommandButton2_Click() Const pth = "P:\RAPORT\" Const fle = "Plan wk" Const sht = "Main sheet" Const fsht = "R" Dim x As Integer, week As Integer Dim dzientygodnia As...
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.
Załącz plik. Jeśli typ zmiennej jest Variant, nie powinno być tego błędu.
takie coś wymysliłem że jeśli ktoś sobie założy filtry to potem skopiuje CRM do innego nowo powstałego arkusza i wtedy bedzie wklejac... ale jeszcze pętle bym potrzebował bo ja zrobilem sobie na A2 A3 A4 tylko tak zeby zboaczyc czy bd chodzic [syntax=vb]Sub drukuj() ' ' drukuj Makro ' ' Klawisz skrótu: Ctrl+Shift+Z ' Sheets("Dane").Select Range("B2:B370").Select...
Masz racje może faktycznie ciężko i spaprałem opis, postaram się to sprawdzić po weekendzie. Jeszcze raz opisuje o co mi chodzi , mam 200 plikow w folderze "dane", w folderze "WZOR" jest plik wzorcowy wzor.xls oraz folder "CEL" czyli jest tak skrypt z folderu "dane" pobiera pierwszy plik to jest otwiera plik np g35.xls kopiuje odpowiednie zakresy komorek...
Tak na szybko... Bez obsługi błędów, gładzenia kodu itp. Sub czytajpliki() Dim linia, sciezka, fs As Object, f, f2, k 'Application.ScreenUpdating = False sciezka = "C:\Documents and Settings\admin\Desktop\test\" Set fs = CreateObject("Scripting.FileSys... Set f = fs.GetFolder(sciezka).Files For...
Witam, mam pytanie jak rozwiązać następujący problem mam komórkę, która przyjmuje określoną wartość np. 4 chciałbym, żeby makro pobrało tą wartość i wykonało jakąś czynność tyle razy ile jest wpisane w tej komórce np: ActiveWorkbook.Sheets("Zes").Activate Range("A2").Select Do If IsEmpty(ActiveCell) = False Then ActiveCell.Offset(1, 0).Select End If...
:arrow: Do autora: Dobrze podstawiłeś to makro? W załączeniu przykład z działającym makrem kolegi adamas_nt Poprawiłem tylko to, że nie liczy dla 100 wierszy tylko dla wszystkich wierszy w kolumnie A zeszytu1. Dodane po czasie ----------------------------- Zmieniłeś treść wiadomości więc moja uwaga nie ma już uzasadnienia, niemniej pozostawiam przykład...
Wyłącz Eventy na czas działania makra (Application.enableEvents=True/False)
ale i to nie przyśpieszyło makra. I nie przyspieszy. 1. po co masz w kodzie dwie pętle otwierające plik? 2. Pozbądź się tych "aktivejtów i selektów"
Dzień dobry! Potrzebuje kod w makrze Założenia: Będzie powtarzał daną wartość np. 3000 lub tekst w danej kolumnie w askusz1 oraz powtarzał daną wartość np.0000 lub tekst 2 w arkuszu 2
[syntax=vb]For i = 3 To 31 Select Case i Case 3 To 7, 12 To 27, 30, 31 '[dzialanie] End Select Next [/syntax]
Napisałeś pętlę nieskończoną. Nie do końca łapię co chcesz zrobić. Może wystarczy licznik pętli przesunąć poza gałąź If Do Until ActiveSheet.Range("A" & i) = "" Or ActiveSheet.Range("A" & i + 1) = "" If Range("A" & i).Value = 37258 Then Range("A" & i + 1).EntireRow.Insert...
Dzień dobry, Bardzo proszę o pomoc z makrem, potrzebuje pętle które będzie miała za zadania kopiowanie i wklejanie w odpowiednie komórki między arkuszami aktualnie mam napisane makro ale niestety sam nie potrafię jeszcze stworzyć takiej pętli Dodano po 3 Mam już coś takiego ale jeszcze nie jest to co bym chciał osiągnąć Potrzebuje dla następnego wiersza...
Makro + pętla zagnieżdżona.
'Exit Sub ' u mnia to nie bylo Prawdopodobnie nie usunuto w Ciebie
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...
Dzięki wielki. Super, makro działa
Witam ponownie, Nie linczujcie mnie :) podejrzewam, że dzisiaj jeszcze poproszę kilka razy o pomoc - jestem początkująca, ale bardzo chętna do nabywania wiedzy:) Mam problem ze stworzeniem pętli do tworzenia nowych skoroszytów, napisalam makro tworzące 10 skoroszytów o nazwach dane_1, dane_2 itd., zapisujących się w folderze utworzonych na pulpicie...
Na pętlach wyszło mi coś takiego (załącznik). Ale gdyby trochę to przeorganizować + arkusz pomocniczy, niepotrzebne byłyby makra...
Zastanów się, czy makro toggle jest operacją atomową. W tym kodzie można tą operację rozbić na 3 etapy: pobranie IO_PORT, zanegowanie bitu oraz zapisanie IO_PORT. Jeśli przerwanie wystąpi pomiędzy pobraniem a zapisaniem IO_PORT, przerwanie spowoduje zmianę stanu pinu, ale zaraz po powrocie nastąpi wpisanie nowej wartości z IO_PORT, z którą wiąże się...
Ciekawa sprawa... Przecinek jakby z innej bajki i nie chce się formatować komórka. Spróbuj w pętli: [syntax=vb]Sub Makro() Dim c As Range For Each c In ActiveSheet.UsedRange If Right(c, 1) = "*" Then c = Val(Left(c.Value, Len(c) - 1)) c.NumberFormat = "0.00" End If Next End Sub[/syntax]
Witam, generalnie to mam wrażenie, że Twój opis jest bardziej zagmatwany niż to czego faktycznie potrzebujesz. Niestety w załączniku nie ma makr, którymi planujesz generować swoje zestawienie i to trochę utrudnia znalezienie właściwego rozwiązania. To co mi się na początek rzuca w oczy to układ pliku. Dodanie kolejnych produktów spowoduje przesunięcie...
(...) nd G0, G1, G2, G3 - współrzędne początkowe: X0, Y0, Z0 - za każdym przejściem wysokość Z zmniejszana o 0,05mm - średnica początkowa: 13 mm - głębokość: 4 mm - kąt stożka: 90 stopni - średnica końcowa wynikająca z matematycznego wyliczenia z kąta, średnicy początkowej i głębokości. (at)ElektrodaBot Wstępna ocena dostępnych informacji Zadanie polega...
Załącznik nie uruchamia się normalnie(Znikające makra)
Pętla (lub dwie zagnieżdżone w zależności od układu) i warunkowe przypisanie (tekst = tekst & ", " & nextTekst).
Wszystko działa tylko w starym EB8000 brakło możliwości wykonywania makra w pętli czasowej.
A jak dokładnie są nazwane arkusze? Cała data, czy tylko numer dnia? Jeżeli cała data to: Sub NazwaArkusza() Range("a2") = ActiveSheet.Name End Sub przy numerze dnia: Sub NazwaArkusza() Range("a2") = ActiveSheet.Name & ".02.2011" End Sub To jest tylko dla jednego arkusza. Dla większej ilości...
Zadaniem jest napisać makro... Wystarczy "zwykła" formuła, jeśli satysfakcjonuje Cię takie rozwiązanie. Coś na wzór: JEŻELI(CZY.BŁĄD(WYSZUKAJ.PIONOWO(...));0... W VBA należałoby zagnieździć dwie pętle dla porównania każdej komórki z każdą...
Najprościej byłoby umieścić w tablicy/kolekcji i posortować (chociaż 'selecteditem' jest kolekcją, można więc spróbować sortowania "w locie").[syntax=vbscript]Dim fd As FileDialog Dim tablica As Collection Set tablica = New Collection Set wkb1 = ThisWorkbook Set fd = Application.FileDialog(msoFileDialogFile... With fd .InitialFileName = Environ("HOMEPATH")...
Witam, Czy chodzi Ci o coś takiego jak w załączniku? Makro napisane na szybko, "na kolanie", z bezczelnie zagnieżdżonymi 5 pętlami FOR (gdzie aż się prosi aby użyć jakiejś rekurencji...), dodatkowo operacje wykonywane na liczbach całkowitych, żeby uniknąć problemów z sumowaniem i porównywaniem liczb zmiennoprzecinkowych (czyli 1 = 0.1, 2 = 0.2 etc).
Zasugerowałem się przyciskiem "kolor wypełnienia" w Excel2003. Jest tam tylko 40 kolorów. Sądziłem że sa po kolei ale jak przed chwila sprawdziłem - myliłem się. W zestawie 40 nie ma np ciemnego żółtego co będzie wpływać na ewentualne obliczenia. Więc we wszystkich makrach powyżej należy poprawić 40 na 56. (W przypadku pierwszego makra wydłuży to jeszcze...
makro excel pętel makro pętel wyszukiwać makro kopiować arkusz pętel
scania manualne rozrusznik bendix tłumić przelotowy
schemat inwertera hybrydowego schemat falownika hybrydowego
Kod H02 w Technics SC-DV290 - przyczyny i rozwiązania Konfiguracja MQTT brokera w Domoticz: Przewodnik