Najprawdopodobniej zaznaczasz >1 komórkę. Dopisz warunek: [syntax=vb]Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Sh.Index > 10 Then If Target.Cells.Count = 1 Then If Target.Address(0, 0) = "A1" And Target.Value <> "" Then Sh.Name = Target.Value End If End If End If End Sub[/syntax]
knc = Format(Date -1, "rrrr-mm-dd") ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\Users\ateresko\Desktop\New folder\Green Raport" & knc & ".pdf"
Tak ma być?
[syntax=vb]Dim przed Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long With Target If .Cells.Count > 1 Then Exit Sub If .Column > 5 Or .Column < 3 Then Exit Sub End With If Target.Value = przed Then Exit Sub Application.EnableEvents = False i = Target.Row Range("A" & i).Value = Environ("Username") Range("B" & i).Value...
Zrobiłem tak, jak to zwykle robią zawodowcy ;) 1. Nagrałem sobie makro przy zapisywaniu. Wyszło takie coś: [syntax=vbscript]Sub Makro1() ' ' Makro1 Makro ' ' ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\Users\Adam\Desktop\Zeszyt1.pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=...
[syntax=vbscript]For i = 2 To lastrowA nazwa = Cells(i, 2) Workbooks.Add ActiveWorkbook.SaveAs ("C:\Users\Uzytkownik\Desktop\FOLDER\" & "nowy" & nazwa & ".xls") ActiveWorkbook.Close Next i[/syntax]
[syntax=vbscript]Pthnm = ActiveWorkbook.Path Workbooks.Open Pthnm & "\" & Sheets("nazwa_arkusza").Range("Y1")[/syn... Założenie jak wcześniej. Oba pliki umieszczone w tym samym folderze. W komórce Y1 znajduje się dokładna nazwa pliku łącznie z rozszerzeniem. Powinno działać.
Wszystko mi działa... Jeśli wszystko oprócz sortowania, to nie mamy wielkiego pola manewru. Spróbuj to wykonać bez apostrofów dla sortowanego pola. Potem - jeśli dalej nic, usuń słowo kluczowe ASC. I koniecznie sprawdź, czy pole nazwa rzeczywiście zapisałeś jako nazwa.
Przykład korzystania z okna zapisywania z filtrem ZapiszJako = Application.GetSaveAsFilename(fileFi... Excel (*.xls), *.xls") I jeśli domyślna ścieżka i nazwa z komórki to sciezka = Application.DefaultFilePath & "\" nazwa = Range("A1").Value ZapiszJako = Application.GetSaveAsFilename(Initia...
Do zmiennej dato powinna być przypisana nazwa podfolderu.
[syntax=vb]Sub sciezki() Dim sciezka As Variant 'opcja1 - na tablicy sciezka = "c:\moje dokumenty\wiesiek\plik 123.xlsx" sciezka = Split(sciezka, "\") nazwa = sciezka(UBound(sciezka)) ReDim Preserve sciezka(UBound(sciezka) - 1) 'obcinamy ostatnią część tablicy sciezka = Join(sciezka, "\") 'kleimy na nowo MsgBox nazwa MsgBox sciezka 'opcja2 - na pozycji...
W pełni zgadzam się z kolegą adamas_nt co do znaków, które może zawierać nazwa pliku. Chcę tylko zwrócić uwagę na drobny błąd, który zakradł się do jego kodu: ActiveWorkbook.SaveAs Filename:=ActiveCell.Value & ".xlsx", FileFormat:=xlOpenXMLWorkbookMacroEn... Aby to działało prawidłowo wystarczy zamienić "Value" na "Text". Różnica...
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...
przy każdym zamknięciu w kodzie skoroszytu(zeszytu)[syntax=vb] Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.SaveCopyAs "Z:\kopia " & Date & " " & Time 'tu lokalizacja, nazwa End Sub[/syntax]
Tu jest szczęście[syntax=vb] Sub KopiaRobocza() Dim nazwa As String Dim path As String nazwa = Range("H19").Value path = "C:\" fileSaveName = path & nazwa & ".xlsx" ThisWorkbook.Worksheets("Kopia robocza").Range("A1:D45").Copy Workbooks.Add Selection.PasteSpecial Paste:=xlPasteValues ActiveWorkbook.SaveAs fileSaveName Application.OnKey "~", "SomeActions"...
Propozycja z obszarem pomocniczym wydaje mi się rozsądna, bo można łatwo sprawdzić, co oznacza to "najwięcej", bo w jednym przypadku może to być 1, a w innym 4. Ponadto gdy kilku sprzedawców ma tyle samo, to formuła wskazuje pierwszego na liście. Gdyby miała wskazywać wszystkich, to byłoby to dużo bardziej skomplikowane, nie mówiąc już o tym, gdzie...
Przedstawione makro nie do końca tylko "zapisuje jako" plik. Ono tworzy nowy plik kopiuje odpowiednie dane (arkusze) zapisuje go pod pewna nazwa i go zamyka. Przy czym, ponieważ jest wyłączony "podgląd", nie widzisz wszystkich kroków. Też tak chcesz stworzyć plik? Czy wystarczy ci "zwykłe" zapisz jako - czyli plik nazwijmy go źródłowym, na którym włączysz...
W B2 sama nazwa bez rozszerzenia, pilik będzie na C: [syntax=vbscript]Sub elka() Open "c:\" & Range("B2") & ".dxf" For Output As #1 For Each c In Range("A7:A30") Print #1, c Next Close #1 End Sub[/syntax]
arkusz i zapisał go w tym samym skoroszycie ale pod nazwa wzięta z komórki. Następnie zapisał by plik w określonym miejscu z nazwa rownież z określonej komórki. Napisz do wyjaśnienia adresów tych komórek. Ponadto sciezku dla zapisu Dodano po 1 [syntax=vb] Sub Kolejny_dzen() Sciezka = "D:\tmp\" '- to dopasuj do swoich potreb plik = Sciezka & Format(Int((Date...
jednakże z każdym nowym dniem zmienia się nazwa samego pliku ... i pewnie jest jakaś zależność tej nazwy, prawda?
chciabym uniknąć duplikowania się wartości (nazwisk) wstawianych w jednej kolumnie za pomocą listy A może w ogóle wykluczyć z listy już użyte? W przykładzie lista dynamiczna jako nazwa + kolumny pomocnicze.
Dobry wieczór, Pierwsze pytanie, czy to ma być rozwiązanie w Excelu, czy w Visual Basicu? Jeżeli w Excelu, to można wykorzystać iteracje, żeby w ciągu znaków znaleźć pierwszą literę. Zakładam, że pierwsza litera to początek nazwy miasta. Aby zrealizować obliczenia iteracyjne, należy w opcjach Excela zezwolić na iteracje. Potrzebna też będzie komórka...
lecz widoczny wynik to sam wiersz Sumy A jaki zakres komórek obejmuje nazwa Cena :?: :D Jeśli chcesz sumować "tylko widoczne" - zmień formułę na =SUMY.CZĘŚCIOWE(9;[Cena]) :idea:
W złym miejscu miałeś to dopisane. Przecież to chodziło o metodę GetSaveAsFilename, a nie o SaveAs. [syntax=vbnet]Private Sub CommandButton1_Click() Dim plik plik = Application.GetSaveAsFilename(Sheets("il... & ".xls", "pliki excel (*.xls), *.xls") If plik <> False Then ActiveWorkbook.SaveAs plik End Sub[/syntax]
xlOpenXMLWorkbook - ma byc .xlsx, byc moze juz jest ta nazwa pliku Dodano po 4 Sprobuj ActiveWorkbook.Saveas "nazwa", xlOpenXMLWorkbook
Jesli tak: [syntax=vb]Arkusz1.Cells(w, kol).Copy Arkusz21.Cells(poz, kol_doc)[/syntax] Ponadto czy istnieje Arkusz21 ? Nie nazwa wkladki, tylko kodowa nazwa(widoczna w edytorze VBA)
[syntax=vbscript]nazwa = ActiveCell.Value With ThisWorkbook .Sheets("wzor rodzinne").Copy ActiveWorkbook.SaveAs .Path & "\rodzinne\" & _ nazwa & ".xls" ActiveWorkbook.Close End With[/syntax]
Nie wiem, czy dobrze zrozumiałem, bo opis jest średnio zrozumiały i tylko jeden przykład, ale sprawdź w załączniku. Nazwa 'ww' oznacza wybrany wiersz i jest zdefiniowana w Menedżerze nazw, żeby formuła była bardziej czytelna. Kolorami zaznaczyłem typowe i skrajne przypadki, żeby łatwiej zweryfikować, czy takich oczekiwałeś wyników. Nie napisałeś też...
Przypisz nazwę dla zakresu np. A2:A20 w arkuszu '2' Dla A4 użyj 'Poprawność danych' - lista, żródło - nazwa zakresu Dla B4, E4 - funkcja WYSZUKAJ.PIONOWO
że DEST_COORD może się kilka razy powtórzyć [syntax=vbscript]SelectSingleNode[/synta... jak sama nazwa wskazuje daje ci tylko jedno wystąpienie musisz użyć [syntax=vbscript]selectnodes[/syntax]
Dla twojego przypadku z załącznika. *dane aktualizowane są w arkusz 1 Tworzysz arkusz roboczy z całą aktualną bazą *niech będzie to w arkusz 2. Kolumny J K L uzupełniasz tak jak chcesz.*Najlepiej by było jakby wartości z kolumny M były przed J K L *czyli z przodu W arkusz 1 w kolumnach J K L używasz formuły wyszukaj.pionowo: Jeżeli będziesz miał problemy...
Powinieneś dodać własny skoroszyt jako przykład, co chcesz osiągnąć, bo w Excelu różne drogi prowadzą do celu. W każdym razie jeśli używasz funkcji ADR.POŚR, to jej pierwszy (a często jedyny) argument musi być w cudzysłowie - jeśli oznacza adres, z którego chcemy pobrać dane. Natomiast bez cudzysłowu - jeśli to jest komórka, która dopiero zawiera potrzebny...
Masz dwa przykłady, wybierz sobie pasujący lub skoryguj pod własne potrzeby. 912573 Przyjrzyj się nazewnictwu przycisków, ale nie temu na samych przyciskach, tylko ich nazwom kodowym - w nazwie każdego z nich znajduje się nazwa tabeli, której dotyczy - to identyfikator: 912574
Istnieje kilka sposobów zapisu odwołań do zakresów komórek w różnych arkuszach. Odwołanie bezpośrednie w stylu Excela: [syntax=vbscript]Range("'Samochód części automatic (2)'!B2#")[/syntax]Nazwa arkusza jest fragmentem adresu zakresu. Nazwę arkusza umieszczamy w apostrofach jeśli zawiera spacje, znaki specjalne lub jest liczbą; oddzielamy od adresu...
W Twoim kodzie było: [syntax=vbscript]ActiveWorkbook.Close[/s... tę linijkę po prostu przepisałem. Gdy zapisuje się plik pod nową nazwą przez SaveAs, otwarty skoroszyt przyjmuje nazwę zmienioną pod którą był zapis. Nie wiem, czy można zmienić nazwę otwartego skoroszytu inaczej niż przez zapisanie go. Zatem w tym przypadku proponuję ponowny zapis...
Pole tekstowe, jak sama nazwa wskazuje, zwraca w wyniku tekst. Jeśli taki tekst wpisujemy do komórki arkusza, czasem Excel na podstawie formatowania potrafi rozpoznać właściwy typ danych (np. rozpoznaje czas), ale nie zawsze tak będzie. Jeśli Excel nie potrafi samodzielnie dokonać konwersji, trzeba mu dopomóc i zastosować w kodzie VBA jedną z funkcji...
chce żeby wyświetlił się msgbox lecz nie zatrzyma on czytania kodu Taka już rola MsgBox'a , żeby zatrzymywał i czekał na decyzję użytkownika. jak powstrzymać otwieranie nowego arkusza jak jego nazwa się powtórzy?? Excel z pewnością nie pozwoli na dublowanie nazw arkuszy. Jeśli chodzi o nadawanie nazw musiałbyś najpierw wykonać porównanie i dopiero...
Polecenie Name powinno działać poprawnie. Nie wiem jaką ma Pan strukturę plików. Możliwe przyczyny błędu: 1. Plik docelowy już istnieje 2. Folder docelowy nie istnieje 3. Plik źródłowy jest otwarty 4. Nazwa pliku zawiera znaki wieloznaczne "*" lub "?"
W Excelu 2016 na lokalnym dysku wszystko działa z tym xls :!: :D Faktycznie w wersjach wcześniejszych trzeba zmienić ten fragment kodu (zacinający się :cry: ) na [syntax=vbscript]ActiveSheet.PivotTables... przestawna1").ChangePivotCache ActiveWorkbook. _ PivotCaches.Create(SourceType:=xlDatabas... SourceData:= _ "'" & Mypath & "\[" & Wbname & "]"...
1. Najprościej wyłączyć obsługę błędów For Each element in kolekcja . Np [syntax=vb]zakres = Array([a2], [c3], [d5]) For Each kom In zakres If kom = "" Then kom.Value = "-" Next[/syntax]
Gotowe makro napisane pod Excel 2003: [syntax=vb] Sub Makro1() ' ' Makro1 Makro ' Makro zarejestrowane 2011-09-22, autor sidsysunia ' ' Klawisz skrótu: Ctrl+q ' Sheets("zestawienie").Select p = Range("c1") 'tu sprawdza ile masz pozycji Range("a2:b" & p).Select ' tu zaznacza wszystkie pozycje bez nagłówka Range("a2:b" & p).Copy 'kopiowanie Sheets("przeliczanie").Select...
Funkcja przecież działa. W arkuszu trzeba ją wywołać rows dla zmiennej nie jest najlepszym pomysłem, bo ta nazwa ma swoje specjalne znaczenie w VBA.
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...
A czy dana nie ląduje czasem w innym arkuszu niż zakładasz? Sheets(1) to arkusz o indeksie jeden. Jeśli "1" to nazwa arkusza, to posługuj się nazwą Sheets("1") Poza tym Workbook s ("jeden.xls")
Zdaje się, że przypisujesz źle do newName . Nazwa różni się od newPath , pod którą zapisujesz plik. Sprawdź krokowo. Nie będzie prościej zapisać plik (me.SaveAs) z inną nazwą? Zawartość ma być przecież identyczna. P.S. Kod umieszczaj w znacznikach syntax. Post poprawiłem [mod].
Jak zrobić odwołanie do arkusza w innym skoroszycie_2 gdzie nazwa arkusza to pozycja "A2" ze skoroszytu_1? =[skoroszyt2.xlsx]nazwa_arkusza!... nazwa_arkusza = pozycja A2 z dowolnego arkusza skoroszytu_1 Użyj funkcji [syntax=vb]=ADR.POŚR(A2)[/syntax] A dokładniej [syntax=vb]=ADR.POŚR("[skoroszyt2.xlsx]"...
Dopisałem definicję formatowania warunkowego w VBA. Formatowanie odtwarza się automatycznie przy otwieraniu skoroszytu. Szerokość zakresu formatowania jest określona przez zawartość trzeciego wiersza w każdym arkuszu. Wiersze zakresu formatowania są ustalone na stałe. Skoroszyt nie może zawierać innych formatowań warunkowych. Gdyby zawierał, trzeba...
[syntax=vbscript]Private Sub CommandButton2_Click() Sciezka = ActiveWorkbook.Path If MsgBox("Wydrukować wszystkie szychtownice?", vbQuestion + vbYesNo, "Drukowanie") = vbYes Then For x = 6 To 15 s = Sheets("Menu").Cells(x, 1) If s <> "" Then Nazwa = s & "_Szychtownice" Sheets(s).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ Sciezka &...
ark = ActiveWorkbook.Sheets(1).Name trzeba bylo po Nazwapliku = ActiveWorkbook.Name Dodano po 1 myslalem ze to logicznie dojdziesz Dodano po 2 bo po ThisWorkbook.Worksheets(1).Activate bedzie nazwa pierwszej wkladki w pliku, w ktorzem makro
Dawno nie zaglądałem na forum i nie spojrzałem że autor założył już temat. A ponieważ zasugerowałem się dawnym (z 2012 roku :) ) kodem kolegi adamas_nt czuję się w obowiązku dołączyć do wątku. :) Przerzucę informację z PW jak przedstawił mi to autor: -- ... Może w skrócie opisze o co mi mniej więcej chodzi: Chciałbym żeby załączony arkusz zaczął żyć...
Wyszła mi taka formuła: [syntax=text]=ADR.POŚR("'[01 Par. -Styczeń 2017.xlsx]"&TEKST(WYSZUKAJ(100;B$7:B7);"... wykorzystuje liczby wpisane w kolumnie B. Wyniki muszą być wpisywane od siódmego wiersza. W kolumnie W jest formuła wyliczająca numer wiersza...
Żeby nazwa była taka jak adres? Wystarczy zmienić w jednej linijce TextToDisplay :=h.TextToDisplay na TextToDisplay :=h.Address
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,...
Można umieścić kod w ThisWorkbook przy zdarzeniu Open. Żeby zabezpieczyć plik przed otwarciem bez makr można ustawić na kluczowe arkusze atrybut VeryHidden (z poziomu edytora VB) a widoczny zostawić dodatkowy pusty arkusz. Przy starcie jeśli warunki są spełnione wystarczy zamienić atrybuty. Tu konieczne hasło ochrony VBA. Przy zamknięciu ustawić na...
Niby proste, a bez szczegołów to nadźgać tu można tyle różności, jak do tobołka ... Założenia: 1. Weryfikacja (jakakolwiek) kopiowanych danych 2. Plik zestawienia w tym samym katalogu co Wz-wzór, jeśli nie to ścieżkę trzeba wpisać "ręcznie" do zmiennej 3. Sprawdzanie, czy plik zestawienia nie jest przypadkiem już otwarty 4. Nazwa pliku zestawienia wpisana...
Użyłem tego makra we wszystkich od 01.YY do 13.YY i tylko pierwszy skopiował dane. W załączniku przesyłam cały plik, może będzie łatwiej rozwiązać zagadkę Już z tego miejsca pragnę bardzo podziękować za pomoc, ale chciałbym sprawę doprowadzić do końca. tak czy siak nie we wszystkich skoroszytach ci to zadziała musisz trzymać się jednej nazwy arkuszy...
Po mojemu powinno działać coś takiego (nie testowane)[syntax=vb]Sub Przycisk1_Kliknięcie() Dim path1 As String, path2 As String, plik As String Dim folder As Object, pfolder As Object Dim dta1 As Date, dta2 As Date, nazwaMin As String, nazwaMax As String Application.ScreenUpdating = False path2 = "\\Serwer\test" Set folder = CreateObject("Scripting.FileSystemObject...
Pozwolę sobie odpowiedzieć: zmień deklaracje typu zmiennych i będzie ok. Dim Nazwa_1 As Integer Dim Nazwa_2 As Integer Na Dim Nazwa_1 As String Dim Nazwa_2 As String Integer to liczby całkowite a String to ciąg tekstowy do którego też można zaliczyć "wizualnie" liczby (czyli liczby i cyfry jako tekst). I jeszcze jedno jak zmienić aby nazwy arkuszy zmieniały...
1) Lista musi mieć ciągły zakres. Najlepiej wykorzystać do tego osobny arkusz. Trochę można zautomatyzować (patrz załącznik). Założyłem, że nazwa firmy w Arkusz1 występuje co 13 wierszy. 2) W przykładzie wykorzystałem VBA (Select Case) i ukrywanie/odkrywanie wierszy 3) j.w.
To może jeszcze taka uniwersalna funkcja do odmiany w języku polskim, w tym przypadku dni, miesięcy i lat, ale można sobie uzupełnić inne słowa. Wywołanie funkcji przykładowo: [syntax=text]=Slownie(24; "m")[/syntax] zwraca: 24 miesiące Jako drugi argument podaje się literę d, m lub l (dni, miesiące, lata) - litera mała lub wielka obojętne. Pierwszy...
Spróbuj takie makro: [syntax=vbscript]Public Sub TworzFoldery() Dim Sciezka As String Dim i As Long Dim k As Integer Dim OstW As Long Dim NFolder As String Dim NPodFolder As String Dim JPlik As String Dim NPlik As String 'Sciezka = ThisWorkbook.Path & "\" OstW = Range("A" & Rows.Count).End(xlUp).Row For i = 1 To OstW NFolder = Range("A" & i) NPodFolder...
W e3 wpisz: =jeżeli(lub(C3="n/d";D3="n/d");"n/d";C3*... zatwierdź enterem i przeciągnij w dół. Na marginesie: Nazwa "SUMA" w nagłówku kolumny może kogoś wprowadzić w błąd bo suma to dodawanie, a ty chcesz mnożyć a to już nie jest suma.
Stąd nazwa zmienny. Jeśli nazwa jest zawsze taka sama to zamiast ThisWorkbook.Activate wpisz Workbooks("zmienny.xlsx"... Dodano po 1 bo ThisWorkbook jest skoroszyt, w ktorem makro
Nie wiem czy o to chodzi, a jeśli tak to pewnie da się ładniej/lepiej, ale na przykład można to zrobić tak: W drugim zestawie danych można zrobić dodatkową kolumnę pomocniczą (i nawet ją ukryć), w której będzie wydobywana nazwa po kropce. Mając tę kolumnę można operować funkcjami PODAJ.POZYCJĘ oraz INDEKS aby wydobyć szukane dane. Na moim przykładzie...
Osobiście wolę korzystać z funkcji Dir . FileSerch potrzebuje referencji i lubi stwarzać problemy. Poniżej przykład z pętlą. Jeśli daty w nazwach są w stałym formacie można sobie ułatwić podstawiając dzisiejszą datę. Dla wczoraj będzie to Date-1, itd Oczywiście dla wielu plików przypisanie nazwy odbywać się będzie wewnątrz pętli bez wychodzenia, ale...
Powiem tak na szybko: :) Znaj moje dobre serce :) W załączeni przykład z różnymi układami. Wybierz który ci pasuje ewentualnie połącz w jedno. Ponieważ jest możliwość wielu wystąpień jednego tematu na chwilę obecną nie wiem jak to ugryźć bez wiersza pomocniczego (wiersz 2 - ukryty w arkuszu1 [komórka kopiowana w bok - w prawo]) I druga rzecz w w funkcji...
Dzień dobry, Formuła nie może nigdy dawać pustego pola, a co najwyżej pusty tekst, który jednak pozostaje tekstem. W takim przypadku do testowania nie może być użyta funkcja CZY.PUSTA, tylko LICZ.PUSTE (ta działa inaczej, choć polska nazwa nie sugeruje różnicy), albo po prostu ="". W związku z tym przesyłam poprawioną wersję. Dodałem jeszcze spację...
Wtedy byłoby tak jak podają wszystkie podręczniki i fora, to znaczy: = WYSZUKAJ.PONOWO(num; nr_i_opis; 2; FAŁSZ) num oznacza komórkę z szukanym numerem, nr_i_opis stanowi teraz jedną tablicę złożoną z dwóch kolumn (adres lub nazwa tej tablicy), 2 oznacza, że wynik będzie z drugiej kolumny, a FAŁSZ (lub 0) oznacza, że funkcja ma znaleźć dokładnie to...
Cześć. Trochę miałem czasu więc napisałem coś takiego [syntax=vb]Sub kopiowanieDoArkuszy() Dim Naglowek As Range, Klient As Range Dim Nazwiska As New Collection Dim Element As Range Dim ws As Worksheet Dim Nazwa As String Set ws = Worksheets("arkusz1") ws.Select Set Klient = ws.Range(Range("a2"), Range("a2").End(xlDown)) On Error Resume Next For Each...
A może trzeba zamienić: ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\rw\Pulpit\Jan Kowalski.xls", FileFormat:= _ na: ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\rw\Pulpit\"&AQ3, FileFormat:= _ ? Przy odrobinie chęci można znaleźć rozwiązanie tego problemu na Elektrodzie. :D
Proponuję: 1) Zamiast formuły z funkcją JEŻELI zastosować formułę z funkcją MAX. Uniknie się w ten sposób dwukrotnego odwołania do tych samych danych. 2) Jeżeli będziesz przestrzegał zasady, że nowe arkusze są dodawane zawsze na początku (a nie na końcu, jak robi się zazwyczaj), to będziesz potrzebować zawsze odwołań do następnego arkusza w kolejności....
W zasadzie ładnie algorytm już opisałeś, pozostaje tylko poszukać odpowiednich funkcji. Wg mnie, jeżeli nazwy w kolumnie A nie będą się powtarzały, to o wiele prostsza w użyciu będzie funkcja .match , np. [syntax=vb] Szukana_nazwa = Worksheets("Arkusz1").Cells(ActiveCell.R... 1).Value 'Wiersz aktywnej komórki, kolumna A czyli 1 Nr_wiersza = Application.WorksheetFunction.Match(Szuk...
Przyjrzałem się bliżej i zaczyna być ciekawie. Dlaczego w czwartym wierszu jest 1? Skoro i jeśli nazwa jest taka sama w danym wierszu w kolumnie B i przypisana nazwa do wcześniej wyszukanej liczby (w kolumnie O). http://obrazki.elektroda.pl/1902385700_1...
Jeśli chodzi o foto. Źle jest pobierana nazwa pliku. Zakładając, że nazwy obrazków=nazwisko pracownika (a tak z Twojego kodu wychodzi), to [syntax=vb]Private Sub lstFiltr_Change() Dim i As Long, a As Long, ark As Worksheet Dim sciezka As String, nazwa As String Set ark = Sheets("Lista pracowników") a = 0 For i = 0 To lstFiltr.ListCount - 1 If lstFiltr.Selected(i)...
Mogę zmienić, by wszystkie nazwy były takie same w obydwu plikach. Nie możesz, tylko musisz - jeżeli makro ma coś wyszukiwać i dopasowywać po nazwie, taka "radosna twórczość" jest niedopuszczalna. W Prod.xlsx - tabele w Sheet1, Sheet2 i Sheet3 najlepiej, żeby zaczynały się w tych samych komórkach (wiersz, kolumna). Liczba tabel (arkuszy) jest stała...
np. w komorce A4 = B1 format "dddd" Dodano po 3 dlaczego jak ukryję komórki tam gdzie są dane to nic mi nie działa ?? jak to? dokładnie ktorze wiersze, aby ukryć?
Podstaw do pętli (w pliku 'turandot.xls'), jeśli to te same pliki.[syntax=vb]Sub AddProcToFiles() Dim nazwa As String Dim sciezka As String Dim licznik As Integer Dim start As Single, meta As Single start = Timer sciezka = "c:\vbide\" 'podstaw scieżkę do folderu z plikami nazwa = Dir(sciezka & "*.xls*") Application.EnableEvents = False Application.DisplayAlerts...
Pomijając literówkę w przypisaniu, zamienione argumenty w Cells(row, column), zakręcony wybór kontrolki w pętli, to zdaje się coś za dużo tych pętli. Po modyfikacji http://obrazki.elektroda.pl/3585684200_1...
Nie precyzujesz co ma być zapisane w nowym pliku. Zakładam, że arkusz "dane". Wklej kod do modułu standardowego, zdefiniuj ścieżkę zapisu i podepnij pod przycisk [syntax=vb]Sub Zapis() sc = "C:\" 'wpisz path jako string, koniecznie z ukośnikiem na końcu nazwa = Range("B1") If Cells(1, 2) & Cells(2, 2) <> Empty Then With Sheets("dane2") ostWrs...
... było pieknie, ładnie dopóki był "Maj", a teraz jesrt "Czerwiec" a mi sie log uzupełnia znowu na maj... Ale jest pięknie ... dość ładna pogoda przecież ... :) ... przynajmniej w Polsce Wschodnio-Środkowej-Północnej ... :) ... no i na Karaibach oczywiście ... : Form ' - i wtedy sprawdzanie byłoby podwójne: i po miesiącu wpisanym w arkuszu ' log '...
Najprościej byłoby zastosować jakąś pętlę w VBA, ale można próbować po "excelowskiemu". Np dołożyć jeden arkusz roboczy, w którym tworzymy tabelę i szukamy wyniku, a w głównym dać tylko odwołanie... Całość oparta jest o funkcję ZNAJDŹ i jeśli nie ma tekstu z kolumny A w dowolnym wierszu kolumny B, to funkcja zwróci #ND! Na podanych przez Ciebie danych...
Co do przycisku wywołujacego makro. Jeżeli masz więcej arkuszy i będzie to w nich wykorzystywane to kod umieść w module. Menu - Widok - paski narzędzi - Visual Basic. Na tym pasku wciśnij Edytor Visual Basic. Otworzy ci się edytor makr. Po lewej stronie będzie okienko "project -VBA project" . Znajdź pogrubioną nazwę twojego skoroszytu i prawokliknij...
Powyższa procedura działa, jak sama nazwa wskazuje, w momencie zmiany zawartości komórki w arkuszu. Jak chcesz zrobić, żeby sprawdzane były wcześniej wpisane daty, to skorzystaj z tego kodu: [syntax=vb]Sub SprawdzTermin() ow = Cells(Rows.Count, "B").End(xlUp).Row For x = 2 To ow Step 2 If Date - Cells(x, 2) > 30 Then Cells(x - 1, 5) = "" Cells(x, 5)...
Dobry wieczór, Nie wiem, ile jest tych wzorów i czy będą w nich w danej chwili identyczne ścieżki czy różne. Ale można spróbować tak. W edytorze Visual Basica wpisać sobie proste makro wstawiające do aktywnej komórki albo do komórki o określonym adresie formułę z funkcją WYSZUKAJ.PIONOWO. [syntax=vb]Sub WstawWzor() ActiveCell.FormulaLocal = _ "=WYSZUKAJ.PIONOWO(J6;'C:\Users\user\Des...
Zakładając, że makro uruchamiasz przy aktywnym arkuszu wynikowym, konstrukcja powinna wyglądać mniej więcej tak ostWrs = tu szukamy ostatniej niepustej komórki w arkuszu wynikowym For Each sht In ThisWorkbook.Worksheets If sht.Name <> "tu nazwa arkusza wynikowego" Then ostWrsArk = tu szukamy ostatniej niepustej komórki w arkuszu źródłowym...
Mam tylko problem u mnie nazwa arkusza jest zawsze inna ( różne piliki są otwierane) Zamiast I jest jeszcze problem z zakresami, w pliku docelowym ma on być kopiowany w pierwszy wolny zakres. Więc tam, gdzie teraz jest przykładowo[syntax=vb]wswyn.Range("A2:D2... = wsSrc.Range("A2:D2").Value[/syntax] wstaw [syntax=vb]ost_w = wswyn.Cells(Rows.Count,...
Potrzebne będą dwie zagnieżdżone pętle. W przykładzie poniżej, makro porównuje nazwę arkusza z fragmentem ciągu w komórkach kolumny 'A'. Urozmaiciłeś nieco różną wielkością liter, dlatego LCase . Do modułu wklej [syntax=vb]Sub Kopiuj() Dim wk As Workbook, ark As Worksheet, myFile As String, wrs As Long myFile = "c:\Statystyka.xlsx" 'ścieżka i nazwa...
Witam, po pierwsze proszę o wyrozumiałość jako, że z vba praktycznie nie miałem wcześniej do czynienia :D Mam poniższy kod który zapisuje pliki excelowe do pdf w wybranej lokalizacji : Sub Archiver() ' Dim sciezka As String polandlate = "C:\Users\Mateusz\Desktop\latte... 'files from Poland Late Workbooks.Open Filename:="C:\Users\Mateusz...
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...
Chodzi mi o to aby w tabelce w pierwszej kolumnie maja byc wypisane kontynenty.W drygiej-tereny leśne-to ma się dzielic na dwie koumny-nie wiem jak to się robi:mln ha,%zasobów światowych,następnie wtrzeciej kolumnie-zwarte tereny leśne i też ma się dzielic na dwie:mln ha,%terenów leśnych.W czwartej-lesistość poszczegolnych kontynentów.Dane te oczywiście...
No właśnie tak robię i jak zamiast B3:K3 zmieniam np. na B3:M3 to wyskakuje error.- błąd nie prawidłowa nazwa https://obrazki.elektroda.pl/1603419800_...
...ListView, który jest inną kontrolką niż ListBox (ma inne właściwości i inaczej się do niego ładuje dane). Ten sposób ListView2.ListItems = "'BAAN 3'!G8:K97" ładowania danych NIE JEST poprawny dla ListView, zapomnij o nim. To działa tylko z ListBox'em. USUŃ z formy wszystkie ListBoxy które tam miałeś... Zamiast nich wstaw i skonfiguruj...
Jeśli nazwy nie powtarzają się można zastosować na przykład taką formułę: [syntax=text]=INDEKS($A$2:$L$2;PODAJ.POZ... albo [syntax=text]=X.WYSZUKAJ(1;BYCOL($P$3=$A... Gdyby jakaś nazwa się powtórzyła, formuła znajdzie pierwszą kolumnę,...
Przy odwołaniach, po kropce, powinna wyświetlić się lista właściwości i metod. Nie bardzo... Jeśli masz dodane referencje to obiektu to dla niektórych obiektów wyświetlane są właściwości i metody, ale nie dla "createobject(COS.Appliaction)" (pod warunkiem, że przekazujemy obiekt do zmiennej typu "Object" o czym później) gdzie COS to nazwa programu....
właśnie o to mniej więcej mi chodziło. Wielkie Dzięki dzielik.
Witaj. Jest to dużo trudniejsze zadanie niż się może wydawać. Przy nieuporządkowanych w żaden sposób danych można co najwyżej zrobić pewne założenia, ale nie muszą być one wcale poprawne i w pewnych sytuacjach mogą dawać błędne rezultaty. Na przykładach, które zostały podane sprawa jest prosta. Za pierwszą spacją znalezioną od prawej strony jest numer...
Można też odpowiednio napisać formuły z wykorzystaniem np. funkcji adres pośredni ADR.POSR() Przykład: =ADR.POŚR("'[Nazwa pliku.xls]Arkusz5'!F6";1) Oczywiście ten adres można tworzyć z innych komórek Np. w komórce A1 jest nazwa pliku np "dane z 01.01.2025.xls" więc funkcja adresu pośredniego może mieć taki wygląd: =ADR.POŚR("'[" & A1 & "]Arkusz22'!F6";1)...
Chciałbym do tego makra dodać to, że wszystkie te pliki, które zostaną zapisane po odpaleniu makra i wybraniu ilości kopii otwierają się [syntax=vbscript]Workbooks.Open sciezka & Cells(2, 3) & ".xlsm"[/syntax] I chesz otworzyć na raz 10 plików? Porąbany pomysł.
Witaj Jeśli skoroszyt jest otwarty codziennie, można użyć zdarzenia otwarcia książki. Ale warunek jest niejawnie opisane. Tu jest tabela, jest kolumna, jest data. Dla makro jest więcej specjalnie - Arkuszm, nazwa kolumny, wiersz gdze zaczyna się listy, nawet lepiej załączenia pliku.
Cześć, Piszę z kolejnym problemem. Potrzebuje przerobić plik csv na excela (xlsm) i ten kod poniższy teoretycznie to robi, ale dla jednego pliku, lecz potrzebuje to zrobić "masowo". W folderze będzie X plików csv i chcę aby w pętli każdy plik zapisywało na xlsm, niestety nie mam pomysłu aby to zapisać, ponieważ nazwa pliku musi pozostać taka sama dla...
nazwa arkusz excel nazwa zakres excel excel nazwa użytkownik
canon mp550 głowica gniazda diagnostycznego renault montaż junkers junkers
kartki okolicznościowe regulator napięcia
Rezystor 1R 00 - wartość i zamienniki Oznaczenie SMD rezystora 1 omowego: 100, 1000, 1R0, 01R, 01X