Korzystam z podobnego rozwiązania ale potrzebne jest też formatowanie warunkowe (aby zaznaczać tylko zakres wiersza). Zaznaczanie aktywnego wiersza za pomocą formatowania warunkowego i VBA 1. Zaznaczanie aktywnego wiersza Definiujemy nazwę: AktywnyWiersz=0 Wpisujemy formułę w VBA w sekcji Worksheet - SelectionChange Private Sub Worksheet_SelectionChange(ByVal...
Hmm, u mnie działa...
wyskakuje jeszcze błąd z tą samą nazwą arkusza W Skoroszyt zawierający makra zostawić tylko jeden arkusz i dać mu jakiś unikatową nazwę(ale Excel, sam zmienia nazwę (dodaje (2)), a następnie zmiany nazwy na nazwę skoroszytu) Chcesz wybrać pliki indywidualnie? Wtedy [syntax=vb] Sub zbior() Dim wb As Workbook Do fl = Application.GetOpenFilename("ExcelFiles....
Sub drukowanie_pakowania() Dim wsh As Worksheet For Each wsh In ActiveWorkbook.Worksheets If wsh.Cells(1, 10) > 0 Then If wsh.Cells(1, 10) < 10000 Then If wsh.Name = "PRODUKCJA" Then GoTo dalej wsh.PrintView dalej: End If End If Next wsh End Sub
Nie ma nic niemożliwego
makra, które będzie przenosić dane z jednego arkusza do innego Efekt taki możesz uzyskać np takim kodem: 968551
Witaj, wszystko jest możliwe [syntax=vb] sub Idziemy() Dim tbl As Range Set tbl = Sheets("Jacek").Range("W:W").Cells If Application.Intersect(ActiveCell, Range("a1:k500")) Is Nothing Then MsgBox "Bledne odwolanie - wybierz poprawna komorke" Else r = Application.Match(ActiveCell, tbl, 0) Application.Goto tbl(r) End If end sub [/syntax]
Przy okacji trochę mi sie koncepcja zmieniła - gdybym musiał wykluczyć więcej niż jeden arkusz - to dałoby się? Można wykluczać arkusze, można też uwzględnić tylko te z listy... Wykluczanie generalnie można zrobić tak: - wykluczasz Arkusz1, Arkusz2 i Arkusz3, drukujesz pozostałe[syntax=vbscript]If ws.Name <> Arkusz1.Name And ws.Name <>...
[syntax=vbscript] On Error GoTo SubStop For Each Sheet In Worksheets Sheet.Test Next Sheet SubStop: On Error GoTo 0[/syntax]
OK. Teraz mam pilne zadanie, w godzinach wieczornych coś do rozwiązania. ... Tu to jest [syntax=vb]Sub copyNumKs() Dim bd As Range, bs As Range, r& With Sheets(1) Set bd = .Cells(1, 5).Resize(.Cells(Rows.Count, 1).End(xlUp).Row, 1) End With With Sheets("wydruk") Set bs = .Cells(1, 2).Resize(.Cells(Rows.Count, 1).End(xlUp).Row, 2) End With For r = 2...
Próbowałem pozmieniać nazwy arkuszy na "ActiveSheet" A tak? [syntax=vbscript]Sub Sort1() With ActiveSheet .Range("F607:J617").Select .Sort.SortFields.Clear .Sort.SortFields.Add Key:=Range( _ "H607:H617"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _ xlSortNormal End With With ActiveSheet.Sort .SetRange Range("F607:J617") .Header = xlGuess...
[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,...
Poczytaj w helpie excela o funkcji "wyszukaj pionowo" lub "vlookup"
[syntax=vb]wiersz = 6 Sheets(1).Activate While Cells(wiersz, 1) <> "" Cells(wiersz, 2).Copy Sheets(Cells(wiersz, 1).Text).Range("C8") wiersz = wiersz + 1 Wend [/syntax]
No tak. Mój błąd, bo powinno być w innej kolejności. Sorry, ale dzisiaj sobota ;) Coś tam (w załączniku) kopiuje. Przeanalizuj, dostosuj do własnych potrzeb.
Skopiowany zakres do nowego arkusza nie jest obszarem nazwanym Tabela_test, stąd błąd.
Jaky format w A1? Sprobuj Sheets(Range("A1").Text).Select
Jeśli dobrze "odczytałem" Twoje rysunki i opisy :crazyeyes: to efekt taki jak na zrzucie :spoko: 979159 można uzyskać poprzez makro powiel w załączonym pliku 979160 Jeśli będziesz chciał mieć plik "wielokrotnego" użytku :please: to każdorazowo musisz go "odświeżyć" poprzez oczyszczenie makrem Usun :!: z poprzednich arkuszy (bo nie może być 2 arkuszy...
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...
Dodatkowe kolumny z Łączenie A & B & C Tam zastosować podaj pozycie
Metoda PrintOut z klasy workshet nie powiodła się Uruchamiasz makro z aktywnego arkusza "formularz" :!: a drukujesz inny arkusz "oswiadczenie" :idea: Twój wcześniejszy kod jest jednoznaczny :D tj. ActiveWindow. Selected Sheets
Musisz jakoś wskazać z którego arkusza chcesz usunąć dane. Excel (makro) to nie jasnowidz. Albo ustawisz stałą nazwę abo jak radził kolega walek wykorzystasz indeks arkusza (lub jego nazwę w VBA) Czyli zastąp Sheets("1").Select Sheets(2).Select (ale wtedy arkusz z którego usuwamy musi być drugi w kolejności) lub Arkusz2.Select (Arkusz2 to nazwa obiektu...
Spróbuj takiego makra. [syntax=vbscript] Sub Kopiowanie() Dim arkA As Worksheet, arkB As Worksheet, arkZest As Worksheet Dim OstA&, OstB&, GdzieWkleic&, PierwszyWiersz%, IleKolumn% Set arkA = ThisWorkbook.Worksheets("aaa") Set arkB = ThisWorkbook.Worksheets("bbb") Set arkZest = ThisWorkbook.Worksheets("Zestawienie") OstA = arkA.Cells(Rows.Count,...
W VB używamy przecinka. Np Range("A1:A1200,B5:B10&...
Może wstaw plik z danymi dla ułatwienia temu, kto się za to weźmie.
wg konta microsoft 365
Spróbuj [syntax=vb]For Each kom2 In Sheets("Arkusz2").Range("A1:A500") If kom2 <> Empty Then For Each kom1 In Sheets("Arkusz1").Range("A1:A500") If kom1.Value = kom2.Value Then kom2.Offset(0, 13) = kom1.Offset(0, 13) kom2.Offset(0, 14) = kom1.Offset(0, 14) Exit For End If Next End If Next[/syntax]
Dodałem opcję czyszczenia.
Z arkusza1 robię raporty w osobnych arkuszach Efekt taki jak na zrzucie 1041538 automatycznego kopiowania wyfiltrowanych danych z arkusza1 do kilku arkuszy :idea: (z nazwami arkuszy wg filtrowanych danych :D ) można zrealizować przykładowo tak jak w załączonym pliku. 1041541 Makro można uruchomić skrótem klawiaturowym ctrl+r :!: , dla dowolnej (jeśli...
[syntax=vb]Sub doBazy() r = 1 With Sheets("raport") While .Cells(r, 1) <> "" rb = Application.Match(.Cells(r, 1), Sheets("baza").Columns(1), 0) .Cells(r, 2).Resize(, 5).Copy Sheets("baza").Cells(rb, 2) r = r + 1 Wend End With End Sub [/syntax]
[syntax=vbscript]Sub usun() For Each c In ActiveWorkbook.Names c.Delete Next End Sub[/syntax]
O coś takiego chodzi? [syntax=vb]ost_wiersz = Worksheets("Arkusz2").Range("A" & Rows.Count).End(xlUp).Row Worksheets("Arkusz2").Range("A" & ost_wiersz + 1 & ":H" & ost_wiersz + 1).Value = Worksheets("Arkusz1").Range("A1:H1").Val... Worksheets("Arkusz1").Range("A1:H1").Cle...
zrobienie makra dla wyliczania wartości Dlaczego nie dobry formuly(funkcji)? np. dla H4 =LICZ.WARUNKI(abc!A:A;F4;abc!F:F;"BA")+L...
Spróbuj: [syntax=vbnet]Sub d() Application.ScreenUpdating = False For Each s In ThisWorkbook.Sheets s.Cells.FormatConditions.Delete Next s Application.ScreenUpdating = True End Sub[/syntax]
To jest przechowywany w katalogu i zamyka. po prostu otwórz go Dodano po 3 lub zniszczyć ciąg z makro: ActiveWorkbook.Close
Po pierwsze: z którym fragmentem nagranego kodu masz problem? Po drugie: Nagraj makro kopiowania całego arkusza do nowego pliku ze zmianą jego (pliku) nazwy. Masz 100% gwarancji zachowania formatowania. Jeśli w arkuszu jest nadmiar danych można dopisać usuwanie. Jeśli jesteś początkujący, to nagrywarka jest podstawą. Przykład: To jest nagrane makro...
Przyznam, że u mnie w domu jest to samo co u ciebie. W pracy zapisywało mi bez przycisku a jedyna różnica to taka że w pracy mam W7 co nie powinno mieć wpływu. Edit: A może w pracy już dodałem tą linijkę kodu i dlatego mi działąło. Poniżej kod kolegi adamasa z linijką usuwającą przycisk. [syntax=vb]Sub Zapis() sc = "C:\" 'wpisz path jako string, koniecznie...
Należy pamiętać, że znaki interpunkcyjne w formułę arkusza Excel
Wstawiłem tabelę, włączyłem rejestrator makr, zmieniłem nazwę w 'Narzędzia tabel'. Nagrało się m/in: https://obrazki.elektroda.pl/2689543600_... Odpowiedź: Tak, można
[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...
W wolnej chwili wyklikałem na klawiaturze kilka linijek. Wydaje mi się, że wygodniej będzie Ci przystosować mój krótki kod. [syntax=vb]Sub Podziel() Dim a As String, a1 As Worksheet Set a1 = Sheets("Arkusz1") ow = Cells(Rows.Count, "D").End(xlUp).Row f = True Sheets("Arkusz1").Select For x = 5 To ow a = a1.Cells(x, 16) If f Then y = x f = False End...
Wykorzystaj zdarzenie Worksheet_Activate . Najprościej[syntax=vb]Private Sub Worksheet_Activate() Call CommandButton1_Click End Sub[/syntax]
Nie jest całkowicie skrot, reprezentuje nazwę obiektu w skoroszycie, Np for each bbb in ActiveWorkbook.Sheets 'colection sheet in workbook bbb .Cells(1,1)="Witaj" next
Może w ten sposób...
Aby wydrukować jeden szablon, możesz użyć prostego przepisania wartości (lub nawet formuł): [syntax=vbscript]Arkusz2.Range("A1:E6").... 'wyczyść stare dane na szablonie Arkusz2.Range("A1").Value = Arkusz1.Range("A1").Value Arkusz2.Range("A3").Value = Arkusz1.Range("G5").Value Arkusz2.Range("A5").Value = Arkusz1.Range("G3").Value * 1000 & "...
Zamień linię: ActiveWorkbook.SaveAs "C:\MONTH CLOSING\FY2013\MAKRO&FILES\FY2013\P&L BY MONTH_values\FY2013\October YTD\CUSTOMERS FILES\" & Arkusz.Name na: ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\MONTH CLOSING\FY2013\MAKRO&FILES\FY2013\P&L BY MONTH_values\FY2013\October YTD\CUSTOMERS FILES\" & Arkusz.Name & ".pdf", Quality:=...
Trochę przerobiłem. Działa pod warunkami: 1) lista firm pobierana jest z arkusza "Sty". Jeśli w innych arkuszach (miesiącach) będą różnice należy do tworzenia listy użyć makr. 2) Arkusze muszą mieć taki sam układ (wspólne makro) 3) Indeks (łącze komórki pola kombi) jest wspólny dla wszystkich arkuszy.
Niech makro "DODAJ" nie odblokowuje, makro Private Sub Workbook_Open() ActiveSheet.Protect UserInterfaceOnly:=True End Sub udostępnia zablokowane TYLKO dla makro
Jeśli dobrze rozumiem, to tak:
Można zdefiniować tablicę z nazwami arkuszy w których mają być dokonywane zmiany i przejść pętlą po arkuszach wpisanych do tej tablicy: [syntax=vb]Sub zz() Dim tblArkusze() Dim i& Dim rngTmp As Excel.Range tblArkusze() = Array("I L", "II L", "III L") 'nazwy arkuszy w których mają być wykonane zmiany For i = LBound(tblArkusze()) To UBound(tblArkusze())...
Spróbuj z hasłem (zmień wartości, jeśli ma być odwrotnie)[syntax=vb]Sub makro1() ' ' makro1 Makro ' blokowanie komórek i ochrona arkusza' ' Klawisz skrótu: Ctrl+r ' ActiveSheet.Cells.Locked = False With ActiveSheet.Range("C9:F13,C15:F19,C21:F2... .Locked = True .FormulaHidden = False...
Podczas startu aplikacji robisz: Worksheets("Arkusz1").Unprotect Password:="TwojeHasło" To umożliwia pracę w arkuszu. Podczas zamykania aplikacji robisz: Ws.Range("A1:Z250").Locked = True Ws.Protect Password:="TwojeHasło", UserInterfaceOnly:=True Sorki, wycinane z mojej aplikacji, stąd różne sposoby adresowania arkuszy, możesz to zapisać dowolnie, byle...
Tak najprościej: On Error Resume Next 'wyłącza błąd jeżeli wpiszesz daną której nie ma w arkuszu 2 a = Sheets(1).Range("a1&quo... 'pobranie ciągu znaków z komórki A1 pierwszego arkusza w excelu kol = Sheets(2).Cells.Find(What... ' numer kolumny wpisanego ciągu znajdujacego się w drugim arkuszy excela...
Na dwie formy [syntax=vb] Sub Do_Druk() Dim i&, j&, k&, m&, p&, wy$ Dim wsSort As Worksheet, wsKp As Worksheet, wsKw As Worksheet, ws As Worksheet Set wsKp = Sheets("KP") Set wsKw = Sheets("KW") wsa = Array(wsKp, wsKw) Application.ScreenUpdating = False For Each wsi In wsa For i = 0 To 600 praw = 34 * (i Mod 2) dol = (i \ 4) * 64...
Może być w ten sposób? (kolumny pomocnicze można ukryć) Co prawda załączyłaś dane gdzie zawsze był nr transakcji ale działa też jak go wykasujesz -uwzględnia to. edit: podmieniłem trochę formuły by było łatwiej kopiować w bok. Może trochę utrudniłem zrozumienie formuły ale... Główna formuła np. dla "a" w danym miesiącu to: =SUMA.ILOCZYNÓW((C1:C10000="a")*1;(A1:A1...
Tak prawie Sub PrzyciskDrukuj() Application.ScreenUpdating = False If Sheets("Arkusz3").Rang... = True Then Sheets("Arkusz2").Sele... ActiveWindow.SelectedSheets.PrintOut Copies:=1 ElseIf Sheets("Arkusz3").Rang... = True Then Sheets("Arkusz3").Sele...
Po pierwsze - ustaw breakpoint'y i zobacz, w którym miejscu Cie "wyrzuca". Po drugie - po osiągnięciu sumy >20 przechodzisz do nowego arkusza, coś tam wklejasz po czym nie wracasz do pierwotnego arkusza - a Twój kod pracuje na arkuszu w tym momencie aktywnym.
Jeśli makro, następnie tak
Makra w module1 i w arkuszu: "Dispatch" przy zdarzeniu 'SelectionChange'. Ewentualnie można dodać przycisk... P.S. Dopuszczasz wartości ujemne w kolumnie A? Edit: 21:05 zmieniłem załącznik (pomyłka) :)
dla przycisku tak daj takie samo makro tylko zamień True na False
Poczytaj o WYSZUKAJ.PIONOWO, a jeżeli makro to o VLOOKUP.
Podmień Target na ActiveCell (to nie jest już procedura zdarzeniowa)...
Set Wb=Open(Fn) ==> Set Wb = Workbooks.Open("D:\abc\" & Fn) Zbyt dosłownie potraktowałeś ogólny zapis o otwarciu pliku.
If k <= Date Then Cells(k.Row, k.Column) = "" A jeżeli zakres nie jest w aktywnym arkuszu?
Zacznij z petli For Each c In Sheets(1).Cells.SpecialCells(xlCellTypeA...
[syntax=vb]Range("Arkusz2!C4").Select[/s...
[syntax=vbscript]nazwa = ActiveCell.Value With ThisWorkbook .Sheets("wzor rodzinne").Copy ActiveWorkbook.SaveAs .Path & "\rodzinne\" & _ nazwa & ".xls" ActiveWorkbook.Close End With[/syntax]
Co masz na myśli pisząc "karta"? Dla arkuszy skoroszytu można zagnieździć kod w kolejnej pętli For ark = 1 to thisworkbook.sheets.count ' lub liczbowo indeksy Np 2 To 4 sheets(ark).select 'kod Next
Masz wykomentowane (znaczek ' na początku wiersza) trzy linijki programu... Powinno być: [syntax=vb] Sub Macro1() Dim a As Object For Each a In Worksheets a.Range("F10").FormulaR1C1 = "=RC[-1]/R[1]C[-1]" Next a End Sub [/syntax]
Ok teraz masz kryteria w tablicach w kodzie VBA w razie jakbyś chciał dodać kryterium, musisz zwiększyć tablicę o 1 i dopisać do tego dodatkowego elementu kryterium z gwiazdkami. Jak zobaczysz kod to chyba będziesz wiedział o co kaman. Dodałem też zabezpieczenie przed kliknięciem dwa razy na makro
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
Zakładając że w arkuszu 1 w kolumnie A kody nie są powtarzane oraz w arkuszu 2 i 3 tylko kody jak w arkuszu 1 [syntax=vb]Sub porownaj() Dim bd As Range Set bd = Worksheets("4").Cells Worksheets("1").Activate r = 1 While Cells(r, 1) <> "" rd = Application.CountA(bd.Columns(1)) + 1 Cells(r, 1).Resize(, 2).Copy bd(rd, 1) Cells(r, 3).Copy bd(rd, 5)...
czy funkcja licz.jeżeli będzie tutaj przydatna Aby podzielić wszystko w kolumny najbardziej odpowiedni tutaj makro VBA. Ale najlepszy arkusz Excel niż zdjęcie ekranu. Lub nawet adres strony Web, być może do pobierania danych bezpośrednio z niego.
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ą...
Witam koleżeństwo. Proszę o pomoc w rozwiązaniu problemu. Mam dwa arkusze kalkulacyjne. W nich różne dane. Chcę część danych które są w nich ułożone wierszami ale nie są posortowane i nie ma możliwości ich sortowania (scalone komórki). Miałoby wyglądać to tak iż w pierwszym arkuszu szukam dane w jakiejś komórce i wierszu np oznaczenie (tekst) następnie...
Rozumiem, że arkusz z danymi do kopiowania jest w osobnym pliku.
Tak z ciekawości postanowiłem sprawdzić czy da się prostymi formułami. Dla ułatwienia przyjąłem, że maksymalnie może być 5 powtórzeń. Jeśli ma być więcej, trzeba dołożyć warunki w kolumnie H oraz poszerzyć "grupy" w kolumnie N - Arkusz2. Wysokość tabeli wynikowej wg rozmiaru w Arusz1 4x3=12 komórek Trochę prymitywnie, ale działa :) Edit: wyszukaj.pionowo...
Załączam przykładowy plik excela z makrem liczącym ilośc znaków w zadanym zakresie arkusza. Wynik podawany jest w drugim arkuszu. Makro wybiera kolejno komórki z zakresu, liczy liczbę znaków w poszczególnych komórkach i dodaje narastająco liczbę poszczególnych znaków z zakresu. Arkusz można dostosować do swoich potrzeb, np. wynik podawać w tym samym...
Domyślam się, że dotyczy to formularza i pól wyboru. Spróbuj[syntax=vb]For Each ctrl In Me.Controls If TypeName(ctrl) = "CheckBox" Then If ctrl = True Then If i > 0 Then lst = lst & Chr(10) & ctrl.Name Else lst = ctrl.Name End If i = i + 1 End If End If Next Range("A1") = lst[/syntax]W arkuszu będzie podobnie.
Pewnie makro masz w kodzie arkusza. Musi być w module... Jeśli to procedura zdarzeniowa, wywołaj je po nazwie (Call NazwaMakraInModule)
Oczywiście pozamieniałeś rozszerzenie pliku xlsm nie tam gdzie powinieneś :cunning: Umieść załączony plik w jakimś folderze testowym i wykonaj umieszczone tam makro :!: 982520
Ad1. Mniej więcej taki kod: [syntax=vb]Sub Konsoliduj() Dim tTbl() Dim i: i = 1 For Each MyWorksheet In ThisWorkbook.Worksheets If (MyWorksheet.Visible = True) And (MyWorksheet.Name <> "Razem") Then ReDim Preserve tTbl(1 To i) tTbl(i) = "'" & MyWorksheet.Name & "'!R1C1:R2C2" i = i + 1 End If Next Selection.Consolidate Sources:=Array(tTbl()),...
Wyraziłeś się precyzyjnie. Tylko, że tym razem piszesz coś innego.;) [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 16 Then r = Target.Row Dim n As Worksheet Set n = Sheets("Nieprawidlowosci") ow = Cells(Rows.Count, "A").End(xlUp).Row nw = n.Cells(Rows.Count, "B").End(xlUp).Row + 1 If nw < 4 Then nw = 4 If...
[syntax=vbscript]Sub Zawiera() Sheets("Arkusz1").Select a = InputBox("Podaj tekst do szukania: ", "Wyszukaj") ow = Cells(Rows.Count, "A").End(xlUp).Row y = 1 For x = 1 To ow If InStr(1, Cells(x, 2), a) > 0 Then Range(Cells(x, 1), Cells(x, 2)).Copy Sheets("Arkusz2").Range("A" & y) y = y + 1 End If Next End Sub [/syntax] Poniżej bez rozróżniania wielkości...
Bo przez makro to widzę że musi to przejść przez naciśnięcie CommandButton? Nie musi, pod jakie zdarzenie podepniesz, to pod nim zadziała... Na funkcjach jakby to wyglądało? Nie myślałem, pewnie jakoś się da przez bardziej skomplikowane, zagnieżdżone funkcje. Pisałeś, że może być makro, to jest makro.
a po drugie chyba mniej skomplikowane będzie usuwanie tych z zakresu drugiej ramki No, może odrobinkę. W załączniku są dopisane oba. Procedury znajdują się w kodzie arkusza. W makro wstawiania nie ingerowałem, nadmiarowe CheckBox'y wyrzuciłem.
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...
Wywołaj w kodzie arkusza 'Kredyty' (makro 'ListaZb' w module) [syntax=vb]Private Sub Worksheet_Activate() ListaZb 'nazwa uruchamianego makra End Sub[/syntax]
Spróbuj Zmień swój czas do pracy makro
Podmień na [syntax=vbscript]NowaNazwa = ThisWorkbook.ActiveSheet.Range("A1").Val... & ".xlsm"[/syntax]
To dlatego, ze Pan przemianol skorozsyt z gelda na gelda-1. Trzeba skopiować makro do wlasnej książki i przypisać je do przyciskow.
Ale kasuje datę z wiersza wyżej... W załączniku poprawiony z przyciskiem usuwania ostatniego. (Burza poszła bokiem) Gdybyś zamiast ostatniego chciał kasować pierwszy to zmień w makro UsunWiersz linię: ostatni = True na: ostatni = False (opisane w makro)
Przejdź do arkusza i uruchomić makro (powinien być w ogólnom modulu)
[syntax=vbscript]Sub Makro() Sheets("Arkusz1").Select a = Application.Match("W", Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row), 0) nw = Sheets("Arkusz2").Cells(Rows.Count, "A").End(xlUp).Row + 1 If Not IsError(a) Then Sheets("Arkusz2").Range("A" & nw) = Range("B" & a) Rows(a).Delete End If End Sub [/syntax]
Piszesz, że ma scalać wiersze, jeżeli wartości w kolumnach A:H oraz K są takie same, a w przykładzie: w 6 wierszu wartość w kolumnie A jest inna, a w 3 wierszu: w kolumnie G - mimo to zaznaczyłeś je na żółto. To jak to w końcu jest?? Czy scalanie dotyczy tylko jednej tabeli, czy wszystkich? Czy one mają stałą długość, czy się zmieniają? Czy wiersze...
Jak mam wykorzystać te arkusze które nie mają nic wspólnego z moim zadaniem? Odpowiem podobnie jak Ty: Jak ktoś ma napisać Ci te makro nie znając układu danych w Twoim arkuszu?
Można użyć zewnętrznego programu działającego wsadowo, połączyć pliki poleceniem Shell i wydrukować. Nie znam na tyle VBA aby kombinować tylko "pod nim". Nie wiem tylko czy nie idziesz w złym kierunku, do obsługi pdf lepiej użyć zewnętrznych programów niż kombinować z Excelem :)
Sam arkusz trochę dziwnie zaprojektowałeś. Przetestuj załączone rozwiązanie.
Mam problem z makrem do excela. Chciałbym zrobić odwołanie w arkuszu3 do arkusza "wsh", gdzie wsh będzie każdym kolejnym arkuszem. Stworzyłem sobie zmienną Dim wsh As Worksheet . Normalnie formuła wygląda tak: ActiveCell.FormulaR1C1 = "=Arkusz1!RC[-2]" Próbowałem zrobić to tak: ActiveCell.FormulaR1C1 = "=wsh.Name!RC[-2]"...
Witam aby w kolumnie D dodało ilość danego produktu do istniejącej już liczby nawet, jeśli inny kolor i kod2? aby wpisało do kolumny b i c (arkusza 1) wartości z odpowiedniego wiersza z arkusza 2 tak samo?
arkusz makro excel excel makro nazwa arkusz excel makro kopiować arkusz
suzuki zawory zepsuty zasilacz transkoder zaprojektuj
mikrokomputer cobra1 bialetti kawiarka
Szlifierka mimośrodowa Nitro 300W – spadek mocy przy docisku, szczotki, łożyska, diagnostyka Telewizor LG, Samsung nie reaguje na pilota i joystick – brak sterowania po włączeniu