poniedzia艂ek, 4 sierpnia 2025

Excel VBA: Makro do kopiowania danych mi臋dzy arkuszami z dynamicznym wyborem zakresu

馃攳 Co robi to makro?

Makro umo偶liwia u偶ytkownikowi wybranie zakresu kom贸rek do skopiowania poprzez okienko InputBox i skopiowanie ich do innego arkusza (domy艣lnie do „Arkusz2”). Idealne do przenoszenia danych mi臋dzy zak艂adkami lub przygotowywania raport贸w.

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

Sub KopiujZakres()
  Dim zakres As Range
  Dim wsZrodlo As Worksheet
  Dim wsDocelowy As Worksheet

  Set wsZrodlo = ActiveSheet
  On Error Resume Next
  Set zakres = Application.InputBox("Zaznacz zakres do skopiowania", "Wyb贸r zakresu", Type:=8)
  On Error GoTo 0

  If zakres Is Nothing Then
    MsgBox "Nie wybrano zakresu. Makro przerwane.", vbExclamation
    Exit Sub
  End If

  Set wsDocelowy = Worksheets("Arkusz2")

  zakres.Copy Destination:=wsDocelowy.Range("A1")

  MsgBox "Zakres zosta艂 skopiowany do 'Arkusz2'.", vbInformation
End Sub

馃洜️ Jak dzia艂a to makro?

  1. U偶ytkownik wybiera zakres danych (np. A1:D20) poprzez InputBox.
  2. Makro kopiuje te dane z aktywnego arkusza do „Arkusz2”.
  3. Dane zostaj膮 wklejone od kom贸rki A1 w arkuszu docelowym.

馃挕 Co mo偶esz zmieni膰?

  • Zmie艅 nazw臋 arkusza docelowego (np. „Raport” zamiast „Arkusz2”).
  • Wklej dane w inne miejsce – zmie艅 Range("A1") na dowoln膮 kom贸rk臋.
  • Dodaj p臋tl臋, by wkleja膰 dane za ka偶dym razem w nowym wierszu (dla log贸w lub historii).

✅ Podsumowanie

To makro daje u偶ytkownikowi pe艂n膮 kontrol臋 nad tym, co i sk膮d ma zosta膰 skopiowane. Nie wymaga sztywno wpisanych zakres贸w – wszystko dzia艂a dynamicznie i interaktywnie.

Brak komentarzy:

Prze艣lij komentarz