0
0 Produkty w koszyku

No products in the cart.

Poniżej masz opisany dokładnie kod, który się nagrał podczas nagrywania makra, którego zadaniem było transponowanie danych.
Przechodzić pomiędzy Excelem, a edytorem VBA możesz szybko korzystając ze skrótu klawiszowego Alt + F11.
Dużo prościej jest zrozumieć kod makra, jeśli pamiętasz dokładnie, co krok po kroku robiłeś w Excelu.

Sub Transponowanie()

'Zapis skorzystania ze skrótu klawiszowego Ctrl + Shift + strzałka
'wykorzystuje funkcję Range, która odwołuje się do zakresu korzystając z dwóch komórek
'z lewego górnego rogu i prawego dolnego rogu
'górny róg w tym przykładzie to zaznaczony zakres, natomiast dolny róg,
'to przejście na koniec (End) – do ostatniej wypełnionej komórki, w danym kierunku (xlDown)
Range(Selection, Selection.End(xlDown)).Select

'Zwykłe włączenie kopiowania zaznaczonego obszaru
Selection.Copy

'Przejście od oktywnej komórki do komórki o 1 wiersz w górę
'Funkcja Range("A1") w poniższym zapisie odnosi się tylko do rozmiaru zaznaczanego zakresu
'po dokonaniu przesunięcia (Offset)
ActiveCell.Offset(-1, 0).Range("A1").Select

'wklejanie skopiowanego obszaru, najważniejsze w poniższym kodzie jest włączona
'opcja transponowania (Tranpose:=True)
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

'Przesunięcie o 1 komórkę w dół (1 wiersz w dół) od aktywnej komórki (ActiveCell)
ActiveCell.Offset(1, 0).Range("A1").Select

'Ponowne skorzystanie ze skrótu Ctrl + Shift + strzałka w dół
Range(Selection, Selection.End(xlDown)).Select

'Dodatkowy kawałek kodu, który wyłącza tryb kopiowania
'przestaje być aktywny zakres do kopiowania
Application.CutCopyMode = False

'Usuwamy zaznaczone komórki z przesunięciem pozostałych danych (Shift) w górę (xlUp)
Selection.Delete Shift:=xlUp

'Zaznaczamy komórkę o 1 wiersz poniżej aktywnej komórki
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Chcesz ze mną poznać możliwości VBA? Zobacz kiedy planowana jest następna edycja 30dniowego kursu online:
https://excelw30dni.pl/kategoria-produktu/szkolenia-vba/

Pozdrawiam
Adam Kopeć
Miłośnik Excela