pi膮tek, 1 sierpnia 2025

Excel VBA: Makro do tworzenia kopii zapasowej arkusza w nowym pliku

馃攳 Co robi to makro?

Makro automatycznie tworzy kopi臋 zapasow膮 aktywnego arkusza i zapisuje j膮 w nowym pliku Excel w folderze u偶ytkownika. Nadaje plikowi nazw臋 zawieraj膮c膮 dat臋 i godzin臋, dzi臋ki czemu nie nadpisuje poprzednich wersji.

馃搵 Kod VBA: ka偶da linia od nowego wiersza

Sub ZrobKopieZapasowa()
  Dim nowyPlik As Workbook
  Dim nazwaPliku As String
  Dim folderDocelowy As String

  folderDocelowy = Environ("USERPROFILE") & "\Pulpit\"

  nazwaPliku = "KopiaZapasowa_" & Format(Now, "yyyy-mm-dd_hh-nn-ss") & ".xlsx"

  ActiveSheet.Copy
  Set nowyPlik = ActiveWorkbook

  Application.DisplayAlerts = False
  nowyPlik.SaveAs folderDocelowy & nazwaPliku, FileFormat:=xlOpenXMLWorkbook
  Application.DisplayAlerts = True

  nowyPlik.Close SaveChanges:=False

  MsgBox "Utworzono kopi臋 zapasow膮 na pulpicie: " & nazwaPliku, vbInformation
End Sub

馃洜️ Jak dzia艂a to makro?

  1. Tworzy kopi臋 aktywnego arkusza (nie ca艂ego skoroszytu).
  2. Zapisuje j膮 w formacie .xlsx na pulpicie u偶ytkownika.
  3. Nazwa pliku zawiera dok艂adn膮 dat臋 i godzin臋 utworzenia.
  4. Plik jest automatycznie zamykany – gotowy do archiwizacji.

馃挕 Co mo偶esz zmieni膰?

  • Zmie艅 lokalizacj臋 zapisu, np. na konkretny folder sieciowy lub dysk D.
  • Mo偶esz doda膰 dodatkowe zabezpieczenie pliku has艂em (zaawansowane).
  • Mo偶esz kopiowa膰 ca艂y skoroszyt zamiast pojedynczego arkusza (np. ThisWorkbook.SaveCopyAs).

✅ Podsumowanie

To makro pozwala b艂yskawicznie utworzy膰 kopi臋 zapasow膮 arkusza bez potrzeby r臋cznego zapisywania i zmieniania nazw. Idealne do zabezpieczania danych przed edycj膮 lub jako wersjonowanie w pracy z raportami.

Brak komentarzy:

Prze艣lij komentarz