Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 75285 Skopiuj do schowka Zamiana wartości z kolumn do wierszy oddzielonych przecinkie
Autor Wiadomość
Marcindworzan 
Stały bywalec Excelforum



Wersja: Win Office 2019
Posty: 439
Wysłany: 28-11-2023, 11:54   Zamiana wartości z kolumn do wierszy oddzielonych przecinkie

Witam. W załączniku umieściłem plik o nazwie Test (jest to bardzo okrojona wersja dużo większego projektu, ale na potrzeby problemu umieściłem to co istotne). W ww. pliku w zakładce "BLACKLIST". wpisuje się dane do kolumny B począwszy od wiersza 29 w dół (kolumna nie ma swojego końcowego wiersza). W komórce T2 chciałbym, aby te dane z kolumny B zostały skopiowane i oddzielone ze sobą przecinkiem (w zakładce "PRZYKŁAD" umieściłem wzór jak to ma wyglądać, przy czym kolumna B tak jak wspomniałem nie ma końcowego wiersza - wartości są na bieżąco dodawane).
Makro, które jest kopiuje jedynie dane do schowka, natomiast jak je umieścić w komórce T2?
Z góry dziękuję za pomoc.

Test.xlsm
Pobierz Plik ściągnięto 19 raz(y) 12.64 KB

ID posta: 431641 Skopiuj do schowka
 
 
hurgadion 
ExcelSpec



Wersja: Win Office 2021
Pomógł: 1168 razy
Posty: 2675
Wysłany: 28-11-2023, 12:18   

Hej,
wydaje mi się, że wystarczy takie makro:
Kod:

Sub polacz_dane()

Range("T2").Value = Join(Application.Transpose(Range("B29:B" & Cells(Rows.Count, 2).End(xlUp).Row)), ", ")
End Sub

Pozdrawiam :lol:

Test.sol.xlsm
Pobierz Plik ściągnięto 18 raz(y) 19.34 KB

ID posta: 431642 Skopiuj do schowka
 
 
Marcindworzan 
Stały bywalec Excelforum



Wersja: Win Office 2019
Posty: 439
Wysłany: 28-11-2023, 12:25   

@hurgadion - jednak zauważyłem inny problem, a mianowicie:

od komórki B29 w dół będą wpisywane dane, przy czym będą dodawane wiersze w taki sposób, że tekst "Tutaj jest tekst" (który nie będzie stałą komórką) będzie zawsze pod ostatnio wprowadzoną daną (z zachowaniem wiersza odstępu), którego już nie należy kopiować. Przykłady umieściłem w arkuszu "PRZYKŁAD 1" i "PRZYKŁAD 2".

Test2.xlsm
Pobierz Plik ściągnięto 17 raz(y) 14.61 KB

ID posta: 431643 Skopiuj do schowka
 
 
hurgadion 
ExcelSpec



Wersja: Win Office 2021
Pomógł: 1168 razy
Posty: 2675
Wysłany: 28-11-2023, 12:55   

Jeżeli zawsze ten tekst będzie występował, to wystarczy lekka modyfikacja poprzedniego makra:
Kod:

Sub polacz_dane()

Range("T2").Value = Join(Application.Transpose(Range("B29:B" & Cells(Rows.Count, 2).End(xlUp).Row)-2), ", ")
End Sub

Jeżeli ten tekst nie będzie występował zawsze, to trochę sytuacja się skomplikuje... :lol:
ID posta: 431645 Skopiuj do schowka
 
 
Marcindworzan 
Stały bywalec Excelforum



Wersja: Win Office 2019
Posty: 439
Wysłany: 28-11-2023, 13:04   

@hurgadion - tak, będzie zawsze występował. Bardzo dziękuję za pomoc ;-)

Ps. A jednak u mnie nie działa...
ID posta: 431646 Skopiuj do schowka
 
 
hurgadion 
ExcelSpec



Wersja: Win Office 2021
Pomógł: 1168 razy
Posty: 2675
Wysłany: 28-11-2023, 13:41   

Zerknij w takim razie do załącznika (nawias był w niewłaściwym miejscu), pozdrawiam :lol:

Test2.sol.xlsm
Pobierz Plik ściągnięto 25 raz(y) 19.29 KB

ID posta: 431647 Skopiuj do schowka
 
 
Marcindworzan 
Stały bywalec Excelforum



Wersja: Win Office 2019
Posty: 439
Wysłany: 28-11-2023, 13:59   

Tak, teraz już jest w porządku. Jeszcze raz dziękuję ;-)
ID posta: 431649 Skopiuj do schowka
 
 
Marcindworzan 
Stały bywalec Excelforum



Wersja: Win Office 2019
Posty: 439
Wysłany: 11-12-2023, 20:42   

Przepraszam, że odświeżam temat, ale zauważyłem błąd, który nie wiem jak rozwiązać.
W przypadku, jeśli będzie tylko jedna wartość w komórce B29 (może zdarzyć się taka sytuacja), wówczas makro się wywala. Jak tego można uniknąć?

Test_blad.xlsm
Pobierz Plik ściągnięto 17 raz(y) 19.75 KB

ID posta: 432086 Skopiuj do schowka
 
 
master_mix 
Excel Expert



Wersja: Win Office 365
Pomógł: 1286 razy
Posty: 2612
Wysłany: 12-12-2023, 00:12   

Kod:
Sub polacz_dane2()
    Dim rCount As Long
    rCount = Cells(Rows.Count, 2).End(xlUp).Row - 2
    If rCount > 29 Then
        Range("T2").Value = Join(Application.Transpose(Range("B29:B" & rCount).Value, ", "))
    Else
        Range("T2").Value = Range("B29").Value
    End If
End Sub
_________________

Podejmę współpracę (pracę)
Programowanie C#, Android, iOS, VB.NET, VBA, ASP.NET Core, WPF, Xamarin, Power Platforms, XAML, MVC, LINQ, Entity Framework. Bazy danych SQL Server, Oracle, MySQL, Firebird
Wrocław i okolice …lub zdalnie.
ID posta: 432088 Skopiuj do schowka
 
 
Marcindworzan 
Stały bywalec Excelforum



Wersja: Win Office 2019
Posty: 439
Wysłany: 12-12-2023, 01:18   

@master_mix - niestety, ale dalej wyświetla błąd (gdy zastosowałem ww. kod w arkuszu "PRZYKŁAD 1" / "PRZYKŁAD 2").

Test_blad2.xlsm
Pobierz Plik ściągnięto 15 raz(y) 25.28 KB

ID posta: 432092 Skopiuj do schowka
 
 
master_mix 
Excel Expert



Wersja: Win Office 365
Pomógł: 1286 razy
Posty: 2612
Wysłany: 12-12-2023, 01:40   

nawiasy pomylone
Kod:
Sub polacz_dane2()

    Dim rCount As Long
    rCount = Cells(Rows.Count, 2).End(xlUp).Row - 2
    If rCount > 29 Then
        Range("T2").Value = Join(Application.Transpose(Range("B29:B" & rCount).Value), ", ")
    Else
        Range("T2").Value = Range("B29").Value
    End If
End Sub
_________________

Podejmę współpracę (pracę)
Programowanie C#, Android, iOS, VB.NET, VBA, ASP.NET Core, WPF, Xamarin, Power Platforms, XAML, MVC, LINQ, Entity Framework. Bazy danych SQL Server, Oracle, MySQL, Firebird
Wrocław i okolice …lub zdalnie.
ID posta: 432093 Skopiuj do schowka
 
 
Marcindworzan 
Stały bywalec Excelforum



Wersja: Win Office 2019
Posty: 439
Wysłany: 12-12-2023, 10:15   

@master_mix - tak, teraz jest super. Dziękuję.
ID posta: 432100 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.wip.pl

Archiwum

Strona uĹźywa plikĂłw cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przegl�darce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
SprawdĹş, w jaki sposĂłb przetwarzamy dane osobowe