Mam nadzieję, że ktoś może mi pomóc z moim problemem. Zasadniczo, mam wiele zakresów, które muszę łączyć niezależnie i umieszczać wartości połączonych zakresów w różnych komórkach. Na przykład chcę: połączyć wartości w zakresie A1: A10 i umieścić wynik w F1 , a następnie chcę połączyć zakres B1: B10 i umieścić wynik w F2 , a następnie chcę połączyć zakres C1: C10 i umieścić wynik w F3 itp.Łączenie wielu zakresów za pomocą vba
Próbowałem użyć następującego makra. Jednak utknąłem; to, co wydaje się robić makro, to łączenie zakresu A1: A10, a następnie umieszczanie wyników w F1 (co jest tym, czego chcę). Jednak przechowuje również informacje z pierwszego połączenia w pamięci, tak że kiedy wykonuje następną konkatenację, w komórce F2 łączą się połączone wyniki F1 i F2.
Próbowałem przeszukiwać wiele forów, ale ponieważ jest to kod, który sam napisałem, nie mogę znaleźć rozwiązania, jestem pewien, że jest to powszechny problem i że robię coś źle, prawdopodobnie nie ustawiam poprawnie zmiennej .
Z góry dzięki za pomoc,
Sub concatenate()
Dim x As String
Dim Y As String
For m = 2 To 5
Y = Worksheets("Variables").Cells(m, 5).Value
'Above essentially has the range information e.g. a1:a10 in sheet variables
For Each Cell In Range("" & Y & "") 'i.e. range A1:A10
If Cell.Value = "" Then GoTo Line1 'this tells the macro to continue until a blank cell is reached
x = x & Cell.Value & "," 'this provides the concatenated cell value
Next
Line1:
ActiveCell.Value = x
ActiveCell.Offset(1, 0).Select
Next m
End Sub
Tuż przed 'Next m' wstaw prostą instrukcję:' x = "" ' –
Och, geniuszu! Zmarnowałem cały ten dzień! Dziękuję Ci! Dziękuję Ci! Dziękuję Ci! Dziękuję Ci! Dziękuję Ci! Dziękuję Ci! Dziękuję Ci! Dziękuję Ci! Dziękuję Ci! Dziękuję Ci! Dziękuję Ci! Dziękuję Ci! Dziękuję Ci! – user2259146