Połączenie danych z osobnych kolumn
by vbatools on Feb.13, 2012, under Excel, Porady
Zastanawiacie się jak szybko połączyć dane z zakresów? Możecie oczywiście skorzystać z formuły złącz.teksty() jednakże kiedy mamy do czynienia z większymi zakresami musielibyście wykonać kopie formuły na całym zakresie w osobnej komunie, zamienić wynik na wartości, a następnie usunąć poprzednio wykorzystane w formule kolumny.
Poniżej można znaleźć metodę wykorzystującą unie zakresów, dzięki której szybko pobierzecie dane do pamięci, a w następnym kroku w miejsce danych wstawi połączone z zakresów dane.
Sub polaczenie_zakresow()
Const kol1$ = "C" 'dane z kolumny C
Const kol2$ = "D" 'dane z kolumny D
Dim RR As Range, n&, x&, last_row&
last_row = Cells(Rows.Count, kol1).End(xlUp).Row
Set RR = Application.Union(Range(kol1 & "1:" & kol1 & last_row), _
Range(kol2 & "1:" & kol2 & last_row))
For x = 1 To RR.Count Step 2
n = n + 1
Cells(n, kol1) = RR(x) & RR(x + 1)
Cells(n, kol2).ClearContents
Next x
Set RR = Nothing
End Sub
Zastosowanie makra ilustruje poniższy rysunek:
Rys. 1 Sposób zastosowania kodu połączenia danych.
Jak widać z pow. kodu, jest to baza do utworzenia bardziej złożonych mechanizmów polegających na połączeniu wielu komórek na różnych zasadach i zastosowaniu różnych łączników (w tym przypadku nie użyto żadnego). Łącznikami mogą być znaki dodane jako string ale i również jako znak chr().
(c) Shon Oskar – www.VBATools.pl
Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.