🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.vbasic
13 messages
13 total messages Started by ThomasX Thu, 25 Jun 2009 02:09
Przenoszenie danych z kilku kolum do jednej kolumny
#101714
Author: ThomasX
Date: Thu, 25 Jun 2009 02:09
8 lines
244 bytes
Witam

Mecze sie z  napiasniem prostego makra, ktorego zadaniem bêdzie
przenoszenie danych z komorek znajdujacych sie w sasiednich kolumnach
jednego wiersza do jednej kolumy (np. w innym arkuszu). Czyli dane
powinny znajdowac sie pod soba.


Re: Przenoszenie danych z kilku kolum do jednej kolumny
#101715
Author: ThomasX
Date: Thu, 25 Jun 2009 02:31
3 lines
44 bytes
Zpomnialem dodac - mowie o VB w Excelu :)

Re: Przenoszenie danych z kilku kolum do jednej kolumny
#101720
Author: ThomasX
Date: Thu, 25 Jun 2009 12:51
28 lines
867 bytes
Transpozycja przez wklejanie specjalne odpada bo wierszy do
przeniesienia sa setki:) Pozostaje tutaj jedynie VBA.

Zastosowalem sie do Twojej wskazowki, ale nie dziala tak jak powinno.
Kolumna w Arkusz2 zapelniana jest trzema wierszami przeniesionymi z
trzech kolumn Arkusz1 do samego konca kolumny, az wyrzucany jest blad.
Zmienilem w kodzie na : x=x+1, ale wtedy pokazuje tylko wiersze
przeniesione z pierwszego wiersza Arkusz1 a chcialbym, aby pobieral w
ten sam sposob kolejne wiersze z Arkusz1 i wstawial do Arkusz2.
Ponizej kod, ktory stosowalem:

Sub kol()

Dim x, y As Integer

x = 1
y = 1

While Sheets("Arkusz1").Cells(x, 1).Value <> ""
Sheets("Arkusz2").Cells(y, 1) = Sheets("Arkusz1").Cells(x, 1)
Sheets("Arkusz2").Cells(y + 1, 1) = Sheets("Arkusz1").Cells(x, 2)
Sheets("Arkusz2").Cells(y + 2, 1) = Sheets("Arkusz1").Cells(x, 3)

x = x + 1
Wend

End Sub

Re: Przenoszenie danych z kilku kolum do jednej kolumny
#101716
Author: Jacek
Date: Thu, 25 Jun 2009 14:16
16 lines
353 bytes
Dnia Thu, 25 Jun 2009 02:31:27 -0700 (PDT), ThomasX napisa�(a):

> Zpomnialem dodac - mowie o VB w Excelu :)

Zapusc petle i niech zrobi.
x=1
y=1
while sheets("a").cells(x,1)<>""
sheets("b").cells(y,1)=sheets("a").cells(x,1)
sheets("b").cells(y+1,1)=sheets("a").cells(x,2)
sheets("b").cells(y+2,1)=sheets("a").cells(x,3)
y=y+1
wend

cos w tym stylu.

Re: Przenoszenie danych z kilku kolum do jednej kolumny
#101717
Author: Jacek
Date: Thu, 25 Jun 2009 14:18
2 lines
7 bytes
y=y+3

Re: Przenoszenie danych z kilku kolum do jednej kolumny
#101718
Author: "Rafal Kwaczala"
Date: Thu, 25 Jun 2009 18:44
17 lines
353 bytes
Uzytkownik "ThomasX" <matuss@o2.pl> napisal w wiadomosci
news:d1f769ba-28ab-4086-97a5-6cdb1df3c654@z34g2000vbl.googlegroups.com...
>
> Zpomnialem dodac - mowie o VB w Excelu :)
>

...a moze wystarczy zaznaczyc odpowiednie wiersze, Ctrl+C a nastepnie PPM,
opcja "Wklej specjalnie...", zaznaczyc "Transpozycja" i OK.

--
Pozdrawiam
Rafal Kwaczala




Re: Przenoszenie danych z kilku kolum do jednej kolumny
#101719
Author: Jacek
Date: Thu, 25 Jun 2009 19:00
2 lines
58 bytes
Troche nie tak, jak chcial autor, poza tym chcial w VBA.

Re: Przenoszenie danych z kilku kolum do jednej kolumny
#101724
Author: ThomasX
Date: Thu, 25 Jun 2009 23:38
5 lines
63 bytes
teraz jest super :)

Wielkie Dziêkujê!
... i pozdrowionka

Re: Przenoszenie danych z kilku kolum do jednej kolumny
#101721
Author: Jacek
Date: Fri, 26 Jun 2009 04:07
2 lines
57 bytes
Ja ci tylko nakreslilem sposob. To nie jest gotowiec...

Re: Przenoszenie danych z kilku kolum do jednej kolumny
#101722
Author: Jacek
Date: Fri, 26 Jun 2009 04:12
15 lines
376 bytes
To jest kod dzialajacy dla 3 kolumn:

Sub kol()
Dim x, y As Integer
x = 1
y = 1
While Sheets("Arkusz1").Cells(x, 1).Value <> ""
    Sheets("Arkusz2").Cells(y, 1) = Sheets("Arkusz1").Cells(x, 1)
    Sheets("Arkusz2").Cells(y + 1, 1) = Sheets("Arkusz1").Cells(x, 2)
    Sheets("Arkusz2").Cells(y + 2, 1) = Sheets("Arkusz1").Cells(x, 3)
    x = x + 1
    y = y + 3
Wend
End Sub

Re: Przenoszenie danych z kilku kolum do jednej kolumny
#101723
Author: Jacek
Date: Fri, 26 Jun 2009 04:24
17 lines
314 bytes
No to masz gotowca:

Sub kol()
Dim x, y As Integer
x = 1
y = 0
While Sheets("Arkusz1").Cells(x, 1).Value <> ""
    z = 1
    While Sheets("Arkusz1").Cells(x, z) <> ""
        Sheets("Arkusz2").Cells(y + z, 1) = Sheets("Arkusz1").Cells(x, z)
        z = z + 1
    Wend
    x = x + 1
    y = y + z - 1
Wend
End Sub

Re: Przenoszenie danych z kilku kolum do jednej kolumny
#102523
Author: Grzegorz Chomik
Date: Fri, 29 Jan 2021 02:18
19 lines
608 bytes
piątek, 26 czerwca 2009 o 08:38:48 UTC+2 ThomasX napisał(a):
> teraz jest super :)
> Wielkie Dziękuję!
> ... i pozdrowionka

A jak by to wyglądało jakbyśmy chcieli zachować np dane z pierwsej kolumny ?
mamy np w jednym wierszu w[pisanene że 
Krzysiek pobrał piłke, wiadro i nożyczki 
Adam pobrał konwke i szpadel 

i chciałbym mieć w wyniku 
Krzysiek piłke 
Krzysiek wiadro
Krzysiek niżyczki
Adam konewkę
Adam szpadel

Ma nadzieję ze da się zrozumieć to co napisałem 
dzięki
Re: Przenoszenie danych z kilku kolum do jednej kolumny
#102524
Author: Grzegorz Chomik
Date: Wed, 10 Feb 2021 01:00
1 lines
79 bytes
pytanie nieaktualne 
poradziłem sobie z tym przy użyciu Power Query
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads