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]
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.
[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ć.
Do zmiennej dato powinna być przypisana nazwa podfolderu.
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...
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...
[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...
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...
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...
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]
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.
jednakże z każdym nowym dniem zmienia się nazwa samego pliku ... i pewnie jest jakaś zależność tej nazwy, prawda?
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
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...
ż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]
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
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...
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...
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...
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...
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...
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 "?"
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...
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 & "]"...
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].
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
nazwa arkusz excel nazwa zakres excel nazwa arkusza excel
makro excel zapis pliku linki filmy instrukcje obsługi pilota uniwersalnego
Mercedes W210 220 CDI 2001 – gdzie kupić wiązkę elektryczną 2104403806? Renault 7514 – brak ciśnienia w belarce Sipma Classic, hydraulika nie nabija ciśnienia