VBA - łączenie wyrazów

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 14
0

Witam,

zaczynam swoją przygodę z VBA. W kolumnie A1:A4 są imiona, w kolumnie B1:B4 nazwiska. Chciałabym aby w kolumnie C1:C4 było: "Imię Nazwisko". Mój pomysł poniżej. Gdzie popełniam błąd?

Kopiuj
Sub przyklad2()

Dim A As String, B As String, C As String
A = Range("A1:A4").Select
B = Range("B1:B4").Select
Range("C1:C4").Select = A + " " + B

End Sub
CA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Tak to nie zadziała, zmienna typu String nie przechowa zakresu wartości.
Na początku najlepiej się uczyć nagrywając makra i sprawdzając jaki kod został wygenerowany.

CH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
2

Do zmiennej typu string próbujesz przypisać wiele wartości, do tego służą tablice. .Select tylko zaznacza komórki, zastąp go .value

Popatrz na poniższy kod:

Kopiuj
Sub laczenie()
    Dim a() As Variant
    Dim b() As Variant
    Dim c() As Variant
    
    a() = Range("a1:a4").Value
    b() = Range("b1:b4").Value
    
    ReDim Preserve c(1 To UBound(a), 1 To 1)
    
    For i = 1 To UBound(c, 1)
        c(i, 1) = a(i, 1) & " " & b(i, 1)
    Next i
    
    Range("c1:c4").Value = c()

End Sub

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.