Note: The other languages of the website are Google-translated. Back to English

Jak zapisać plik Excela z wartością komórki?

Czy korzystasz ze skoroszytu, czy kiedykolwiek myślałeś o zapisaniu pliku Excela na podstawie zawartości komórki? Na przykład masz „Cena sprzedaży” w komórce A1 i chcesz zapisać skoroszyt pod nazwą Cena sprzedaży. Oczywiście możesz wpisać nazwę w oknie dialogowym Zapisz jako, a następnie zapisać. Ale będzie to nieefektywna metoda pod względem ilości pracy. Dzisiaj opowiem o szybkiej sztuczce, aby go rozwiązać.

Zapisz plik Excel z określoną wartością komórki za pomocą kodu VBA

Karta Office Włącz edycję i przeglądanie na kartach w pakiecie Office i znacznie ułatw swoją pracę ...
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
  • Wykorzystaj wszystko ponownie: Dodaj najczęściej używane lub złożone formuły, wykresy i wszystko inne do ulubionych i szybko wykorzystaj je ponownie w przyszłości.
  • Ponad 20 funkcji tekstowych: Wyodrębnij liczbę z ciągu tekstowego; Wyodrębnij lub usuń część tekstów; Konwertuj liczby i waluty na angielskie słowa.
  • Narzędzia do scalania: Wiele skoroszytów i arkuszy w jeden; Scal wiele komórek / wierszy / kolumn bez utraty danych; Połącz zduplikowane wiersze i sumę.
  • Podziel narzędzia: Podziel dane na wiele arkuszy na podstawie wartości; Jeden skoroszyt do wielu plików Excel, PDF lub CSV; Jedna kolumna na wiele kolumn.
  • Wklej pomijanie Ukryte / filtrowane wiersze; Policz i suma według koloru tła; Wysyłaj spersonalizowane wiadomości e-mail do wielu odbiorców zbiorczo.
  • Super filtr: Twórz zaawansowane schematy filtrów i stosuj do dowolnych arkuszy; Sortuj według tygodnia, dnia, częstotliwości i nie tylko; Filtruj pogrubieniem, formułami, komentarzem ...
  • Ponad 300 zaawansowanych funkcji; Współpracuje z Office 2007-2021 i 365; Obsługuje wszystkie języki; Łatwe wdrażanie w przedsiębiorstwie lub organizacji.

strzałka niebieski prawy bąbelek Zapisz plik Excel z określoną wartością komórki za pomocą kodu VBA

Poniższy kod VBA może pomóc w zapisaniu skoroszytu z określoną wartością komórki, wykonaj następujące czynności:

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.

2, Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

Kod VBA: Zapisz plik Excel z określoną wartością komórki

Private Sub filename_cellvalue()
'Update 20141112
Dim Path As String
Dim filename As String
Path = "C:\Users\dt\Desktop\my information\"
filename = Range("A1")
ActiveWorkbook.SaveAs filename:=Path & filename & ".xls", FileFormat:=xlNormal
End Sub

3. A następnie naciśnij F5 klucz do wykonania kodu, a skoroszyt został nazwany jako zawartość komórki A1. Zobacz zrzut ekranu:

dokument-zapisz-z-wartością-komórki-1

Uwagi:

1. Możesz określić dowolną wartość komórki jako nazwę pliku, po prostu modyfikując odwołanie A1 do innej komórki w powyższym kodzie.

2. Twój aktywny skoroszyt zostanie zapisany w folderze C: \ Users \ dt \ Desktop \ moje informacje \ (ostatni ukośnik musi pozostać, gdy wkleisz swoją lokalizację do zamiast niej) lokalizacji, możesz zmienić ścieżkę do swoich potrzeb.


Podobne artykuły:

Jak zapisać plik z datą i godziną w programie Excel?

Jak wyświetlić ścieżkę pliku na pasku tytułu lub pasku narzędzi w programie Excel?


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (33)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
moduł nie zapisuje w .XlsX ; myślę, że ma to coś wspólnego z wierszem 7;; ".xls", FormatPliku:=xlNormal; Jak mogę zmodyfikować, aby pobrać wartość z 3 różnych połączonych komórek? na przykład: imię , nazwisko , data; w linii 6 kodu?
Ten komentarz został zminimalizowany przez moderatora na stronie
Dim nazwa pliku jako ciąg
Dim nazwapliku1 jako ciąg
Dim nazwapliku2 jako ciąg

Ścieżka = "C:\Użytkownicy\dt\Desktop\moje informacje\"
nazwa pliku = Zakres("A1")
nazwa_pliku1 = Zakres("A2")
nazwa_pliku2 = Zakres("A3")
ActiveWorkbook.SaveAs filename:=Ścieżka i nazwa pliku & "-" & nazwa pliku1 & "-" & nazwa pliku2 ".xls", FileFormat:=xlNormal
Ten komentarz został zminimalizowany przez moderatora na stronie
Chrisa. Możesz połączyć go w osobnej komórce, a następnie odwołać się do tej komórki jako wartości nazwy pliku.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, Mine zapisze tylko jako ścieżkę i nazwę pliku. Chcę tylko, aby nazwa pliku, do którego odwołuje się komórka, była tylko zapisywana. Możesz mi pomóc?
Ten komentarz został zminimalizowany przez moderatora na stronie
To jest całkiem fajne... ale wydaje się, że jest błąd, którego nie jestem pewien, jak go poprawić. Używam tego w szablonie z obsługą makr. Otwieram szablon, wprowadzam zmiany/aktualizacje, wciskam F5, aby uruchomić makro... i... pojawia się okno dialogowe „Przejdź do”, oczekując, że wprowadzę „odniesienie”. Jednak jeśli nacisnę ALT F11, a następnie naciśnij F5, nowy plik .xls zostanie zapisany zgodnie z oczekiwaniami. Czy zawsze muszę otwierać moduł Visual Basic, aby uruchomić tę procedurę „zapisywania”?
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam szablon, którego nie chcę nadpisywać, aby użytkownik był zobowiązany do zapisania pliku o nazwie według daty wprowadzonej w jednym z pól. Nie chcę, aby użytkownik musiał otwierać narzędzia, a następnie wybierać/uruchamiać makro. Równie dobrze mogą wpisać nazwę pliku.
Ten komentarz został zminimalizowany przez moderatora na stronie
możesz dodać=TERAZ() jako parametr do nazwy pliku w komórce przed wyodrębnieniem go w makrze (a także umieścić standardowy przycisk w rogu strony, aby pracownik nie musiał otwieraćżadnych narzędzi
Ten komentarz został zminimalizowany przez moderatora na stronie
Jesteście ratownikami. Dzięki!
Ten komentarz został zminimalizowany przez moderatora na stronie
Muszę zapisać jako plik .csv. jak mam to zmienić, aby zapisać jako plik .csv? Private Sub filename_cellvalue() 'Update 20141112 Dim Path As String Dim filename As String Path = "C:\Doorlister\import\DoorJob\" filename = Range("AC2") ActiveWorkbook.SaveAs filename:=Ścieżka i nazwa pliku & ".xls ”, FileFormat:=xlNormal End Sub Z góry dziękujemy za pomoc!
Ten komentarz został zminimalizowany przez moderatora na stronie
Myślę, że zrobiłem tu coś złego...

Daje mi błąd w wierszu Arkusze ("shitname"). Wybierz

Prawdopodobnie zrobiłem coś złego, kiedy nazwałem „gównianą” komórkę K10

chcę zmienić arkusz na inny arkusz, który nazywa się dokładnie tak samo jak komórka K10


' gicsel makro
'
' Skrót klawiaturowy: Ctrl+Shift+C
'
Selection.Copy
Arkusze("debagat").Wybierz
Wiersze("8:8").Wybierz
ActiveSheet.Paste
Przyciemnij ścieżkę jako ciąg
Ścieżka = "C:\cgxml\"
Dim nazwa pliku jako ciąg
nazwa pliku = Zakres("A8")
Dim shitname As String
shitname = Zakres("K10")
Arkusze("shitname").Wybierz
Application.CutCopyMode = False
ActiveWorkbook.SaveAs filename:=Ścieżka i nazwa pliku & ".xml", FileFormat:=xltxt, CreateBackup:=False
Arkusze("OGÓŁEM").Wybierz
ActiveCell.Offset(1, 0). Cały wiersz.Wybierz
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
To działa świetnie... Dziękuję, ale muszę zapisać jako PDF... Jakieś myśli?

Podziękowania

Chris
Ten komentarz został zminimalizowany przez moderatora na stronie
tak samo jak powyżej, ale zamień ActiveWorkbook.SaveAs na: "ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _"C:\input filename.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAeas:=False, _
Otwórz po opublikowaniu:=Prawda
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję za twoją opinię, bardzo mi pomogło.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Co powinienem dodać, jeśli chcę zapisać aktywny arkusz roboczy, ale używając wartości komórki arkusza 1?
Ten komentarz został zminimalizowany przez moderatora na stronie
Proszę o pomoc... Udało mi się zrobić wszystko. Ale zapisuje dokumenty w Moich dokumentach zamiast na określonym serwerze...



Private Sub CommandButton1_Click ()
Przyciemnij ścieżkę jako ciąg
Dim nazwa_pliku1 jako ciąg
Dim nazwa_pliku2 jako ciąg
Dim nazwa_pliku3 jako ciąg
Dim nazwa_pliku4 jako ciąg
Dim nazwa_pliku5 jako ciąg
Ścieżka = "J:\Usługi ochrony\Dokumenty\Zabezpieczenia Booysendal"
NazwaPliku1 = Zakres("A2")
NazwaPliku2 = Zakres("B2")
NazwaPliku3 = Zakres("C2")
NazwaPliku4 = Zakres("D2")
NazwaPliku5 = Zakres("E2")
ActiveWorkbook.SaveAs Filename:=FileName1 & "-" & FileName2 & "-" & FileName3 & "-" & FileName4 & "-" & FileName5 & ".xls", FileFormat:=xlNormal
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Dodaj ukośnik odwrotny po zabezpieczeniach i przed cytatem... ...zabezpieczenia\"
Ten komentarz został zminimalizowany przez moderatora na stronie
Co zrobić, jeśli chcesz tylko zdefiniować nazwę pliku, ale masz możliwość wyboru ścieżki pliku za każdym razem, gdy zapisujesz?

Możesz także określić wiele komórek dla nazwy pliku. Komórki są również scalane.

Za każdym razem zapisuj w różnych ścieżkach plików

Użyj wielu komórek jako nazwy pliku
Ten komentarz został zminimalizowany przez moderatora na stronie
Ok, więc mam to działa dobrze za pomocą przycisku w arkuszu. Teraz chciałbym, aby po pierwszym zapisaniu jako. Czy można to zrobić? Używasz tego samego przycisku zapisu?
Dzięki, Bruce
Ten komentarz został zminimalizowany przez moderatora na stronie
jak utworzyć makro, aby zapisać wiele arkuszy, tak jak ich wartości komórek jako nazwy plików
Dzięki,
Rajiv
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam wszystkich!

Jak można zapisać powtarzające się dane wejściowe w tych samych komórkach, w innych komórkach, za pomocą makra?

W arkuszu 1 wprowadzam dane w A1, B1, C1 dla n razy w ciągu dnia. W arkuszu 2 muszę zapisać wszystkie te rekordy, w A2, B2, C2, A3, B3, C3 itd. Tnx!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć przyjaciele,
Mam problem i byłbym zadowolony, gdyby ktoś mi pomógł
Mam plik na dysku "F" i folderze "ABS" - moja nazwa pliku to "Listdata"
W pliku Excel na moim pulpicie chcę, aby komórki (4,4) pobierały dane z arkusza „ABS” (1) i komórki (2,2)
Poniższy kod!
Sub Macro1 ()
activesheet.Cells(4, 4).Value = " F:\ABS\" & listdata & ".xlsx" & Arkusze(1).Cells(2)).Value
End Sub
ale to nie działa poprawnie
Dzięki przyjaciele
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, próbuję użyć tego kodu, ale kiedy próbuję wykonać, otrzymuję błąd runtime 1004 i podświetla on wiersz 7 jako nieprawidłowy: ActiveWorkbook.SaveAs filename:=Path & filename & ".xls", FileFormat:=xlNormal
Jak mogę to rozwiązać? Korzystam z biura 365
Ten komentarz został zminimalizowany przez moderatora na stronie
Se a Célula descenicia estiver em uma ocra planilha já aberta? Como faço?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć. Jestem bardzo podekscytowany, że może zadziałać, ale dla mnie jest w nim napisane „BASIC runtime error. Nie zdefiniowano procedury sob lub procedury funkcji”. i strzałka wskazująca linię 6. Co mam zrobić?
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam przycisk kontrolny do zapisywania jako PDF o określonej nazwie w określonej lokalizacji, który już działa, ale chcę zmodyfikować kod, ponieważ nazwa pliku to nazwa aktywnego arkusza plus wartość określonej komórki z innego arkusza. Jak mogę to zrobić? Oto co mam do zapisania w formacie PDF:


Private Sub CommandButton1_Click ()
Application.ScreenUpdating = Fałsz
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
nazwa pliku:="\\U:\Dokumenty\Moje_IT_Rzeczy\T&A\PP11", _
OpenAfterPublish: = False
Application.ScreenUpdating = True
End Sub

Dziękuję Ci!
Ten komentarz został zminimalizowany przez moderatora na stronie
czy ktoś może pomóc w rozwiązaniu problemu, udało mi się poprawnie uzyskać dane wyjściowe, jeśli komórka nie jest pusta?

Prywatne zapisy podrzędne()

Ścieżka Dim As String

Dim nazwapliku1 jako ciąg



path = "C:\Użytkownik\Compwork\"



filename1 = ścieżka & Zakres("G4") & " " & "-" & " " & Zakres("G6") & " " & "-" & " " & Zakres("H7") & " " & "VTError "

Application.DisplayAlerts = False

ActiveWorkbook.Saveas Filename1, FileFormat: = 52, createBackUp: = false

ThisWorkbook.Worksheets("raport").ExportAsFixedFormat Type:=x1typePDF, Filename:=filename1

Application.DisplayAlerts = True

ActiveWorkbook.Zamknij



End Sub



Jednak mój problem polega na tym, że chciałbym zapisać nazwę pliku bez pozostawiania spacji, jeśli na przykład wartość komórki wynosi NULL, jeśli wartość G6 jest pusta, lubię wyjście „G4-H7 VTError”.
Czy jest jakiś sposób, żeby do tego podejść?


Dzięki.
Nie ma tu jeszcze żadnych komentarzy
Pokaż więcej
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL