Wpis z mikrobloga

@Koliber86:

Sub Testowa()

Dim sht As Worksheet
Dim lastrow As Long
Dim i As Long
Set sht = ActiveSheet

'Ctrl + Shift + End
lastrow = sht.Cells(sht.Rows.Count, "B").End(xlUp).Row

For i = 1 To lastrow
sht.Cells(i, 5) = sht.Cells(i, 2) & " " & sht.Cells(i, 3)
Next i

End Sub

i = 1 <= U Ciebie wpisz wartość i równą pierwszemu wierszowi do połączenia
@Koliber86: Zrobiłem jeden skrót myślowy. A mianowicie zakładam, że w razie potrzeby jesteś w stanie zmienić sobie arkusz, do którego będziesz się odnosił.

Set sht = ActiveSheet

Może lepiej:

Set sht = Sheets("Arkusz 1") <= tak przykładowo, gdzie w nawiasie dajesz nazwę arkusza.
@Koliber86: tu nie chodzi o With/End With bo akurat te 2 polecenia nie mają praktycznie żadnego wpływu na wydajność, jedynie upraszczają zapis, bo zamiast:

With Range("E2:E" & LastRow)
.Formula = "=B2 & "" "" & C2"
.Value = .Value
End With

Równie dobrze możesz napisać:

Range("E2:E" & LastRow).Formula = "=B2 & "" "" & C2"
Range("E2:E" & LastRow).Value = Range("E2:E" & LastRow).Value

Codzi o to, że każdy dostęp (odczyt/zapis) wartości komórek
@brak_nicku: czyli z zasady wszystko lepiej jest wczytywac w array, wykonac dzialanie i potem wypluc gdzies w excelu?

Czy to rowniez sie tyczy dzialaniom na tekscie? np gdybym chcial wyfiltrowac rzedy zaiwrajace na literke "A" i skopiowacje przez autofilter.range? to tez powinienem wczytac wszystko w array?
czyli z zasady wszystko lepiej jest wczytywac w array, wykonac dzialanie i potem wypluc gdzies w excelu?

Co do zasady tak. Więcej niżej.

Czy to rowniez sie tyczy dzialaniom na tekscie? np gdybym chcial wyfiltrowac rzedy zaiwrajace na literke "A" i skopiowacje przez autofilter.range? to tez powinienem wczytac wszystko w array?


Jeśli autofiltr wybierze to co trzeba i bez dalszej obróbki trzeba to gdzieś skopiować to bez sensu to kopiować do tablicy,