Thread View: pl.comp.lang.vbasic
8 messages
8 total messages
Started by Bear
Fri, 28 Sep 2012 12:02
Wstawienie tablicy do zakresu
Author: Bear
Date: Fri, 28 Sep 2012 12:02
Date: Fri, 28 Sep 2012 12:02
9 lines
1853 bytes
1853 bytes
Mam taki kod:
--------------------------------------------------------------------------
Dim Parametry As Variant
Parametry = Array("Time", "tzewn", "tzas_msc", "tpow_msc")
Range("A1:D1").Value = Application.WorksheetFunction.Transpose(Parametry)
--------------------------------------------------------------------------
Wstawienie skutkuje wypełnieniem całego zakresu A1:D1 pierwszym elementem z tablicy. Jak wypełnić zakres prawidłowymi elementami tablicy?
Dzięki za wszelkie sugestie (:
Re: Wstawienie tablicy do zakresu
Author: Bear
Date: Fri, 28 Sep 2012 12:22
Date: Fri, 28 Sep 2012 12:22
6 lines
1507 bytes
1507 bytes
Natomiast taka próba:
For i = LBound(Parametry) To UBound(Parametry)
Range(1, i).Value = Parametry(i) /lub Cells(1, i).value
Next i
kończy się błędem: Method Range of object '_Global" failed
Re: Wstawienie tablicy do zakresu
Author: ryszard.mikke
Date: Fri, 28 Sep 2012 12:23
Date: Fri, 28 Sep 2012 12:23
20 lines
2116 bytes
2116 bytes
W dniu piątek, 28 września 2012 14:02:08 UTC+2 użytkownik Bear napisał:
> Mam taki kod:
>
> --------------------------------------------------------------------------
>
> Dim Parametry As Variant
>
> Parametry = Array("Time", "tzewn", "tzas_msc", "tpow_msc")
>
> Range("A1:D1").Value = Application.WorksheetFunction.Transpose(Parametry)
>
> --------------------------------------------------------------------------
>
> Wstawienie skutkuje wypełnieniem całego zakresu A1:D1 pierwszym elementem z tablicy. Jak wypełnić zakres prawidłowymi elementami tablicy?
>
>
>
> Dzięki za wszelkie sugestie (:
Use the loop, Bera...
Re: Wstawienie tablicy do zakresu
Author: ryszard.mikke
Date: Fri, 28 Sep 2012 12:29
Date: Fri, 28 Sep 2012 12:29
14 lines
1865 bytes
1865 bytes
W dniu piątek, 28 września 2012 14:22:04 UTC+2 użytkownik Bear napisał: > Natomiast taka próba: > > > > For i = LBound(Parametry) To UBound(Parametry) > > Range(1, i).Value = Parametry(i) /lub Cells(1, i).value > > Next i > > kończy się błędem: Method Range of object '_Global" failed Dodaj 1 do LBound i UBound...
Re: Wstawienie tablicy do zakresu
Author: Bear
Date: Fri, 28 Sep 2012 12:36
Date: Fri, 28 Sep 2012 12:36
9 lines
1408 bytes
1408 bytes
Taki kod działa poprawnie:
---------------------------------
For i = LBound(Parametry) To UBound(Parametry)
k = i + 1
MsgBox (k)
Cells(1, k) = Parametry(i)
Next i
i przyjmuje wartość 0 jako pierwszą dlatego druga zmienna k
Re: Wstawienie tablicy do zakresu
Author: IDKrzych
Date: Fri, 28 Sep 2012 13:59
Date: Fri, 28 Sep 2012 13:59
33 lines
2294 bytes
2294 bytes
> Mam taki kod:
> --------------------------------------------------------------------------
> Dim Parametry As Variant
> Parametry = Array("Time", "tzewn", "tzas_msc", "tpow_msc")
> Range("A1:D1").Value = Application.WorksheetFunction.Transpose(Parametry)
> --------------------------------------------------------------------------
> Wstawienie skutkuje wypełnieniem całego zakresu A1:D1 pierwszym elementem z tablicy. Jak wypełnić zakres prawidłowymi elementami tablicy?
>
> Dzięki za wszelkie sugestie (:
>
Zupełnie nie rozumiem co Wy kombinujecie ... :( (we wszystkich
pozostałych odpowiedziach)
jak chcesz wstawić tablicę do zakresu, robisz to wprost:
Range("A1:D1").Value = Parametry
jeśli chcesz odwrócić (przez .Transpose) zakres by mieć wartości w
wierszach, robisz to tak:
Range("A1:A4").FormulaArray =
Application.WorksheetFunction.Transpose(Parametry)
Po co te pętle i liczniki ? :)
Pozdrawiam
--
IDKrzych
"Jakkolwiek będzie - będzie inaczej, aniżeli sobie wyobrażamy
- ponieważ między Dobrem a Złem znajdujemy się w życiu i w świecie
wielowymiarowym,
w którym dokumentnie pomieszane jest Przypadkowe z Nieuchronnym."
(S. Lem 1999)
Re: Wstawienie tablicy do zakresu
Author: ryszard.mikke
Date: Fri, 28 Sep 2012 16:37
Date: Fri, 28 Sep 2012 16:37
32 lines
2841 bytes
2841 bytes
W dniu piątek, 28 września 2012 16:00:27 UTC+2 użytkownik IDKrzych napisał:
> > Mam taki kod:
>
> > --------------------------------------------------------------------------
> > Dim Parametry As Variant
> > Parametry = Array("Time", "tzewn", "tzas_msc", "tpow_msc")
> > Range("A1:D1").Value = Application.WorksheetFunction.Transpose(Parametry)
> > --------------------------------------------------------------------------
> > Wstawienie skutkuje wype�nieniem ca�ego zakresu A1:D1 pierwszym elementem z tablicy. Jak wype�ni� zakres prawid�owymi elementami tablicy?
>
> > Dzi�ki za wszelkie sugestie (:
>
> Zupe�nie nie rozumiem co Wy kombinujecie ... :( (we wszystkich
> pozosta�ych odpowiedziach)
>
> jak chcesz wstawiďż˝ tablicďż˝ do zakresu, robisz to wprost:
>
> Range("A1:D1").Value = Parametry
>
> je�li chcesz odwr�ci� (przez .Transpose) zakres by mie� warto�ci w
> wierszach, robisz to tak:
>
> Range("A1:A4").FormulaArray =
>
> Application.WorksheetFunction.Transpose(Parametry)
>
> Po co te p�tle i liczniki ? :)
Tym się różni programowanie od magii :D
Kilka(dziesiąt) prostych komend, którymi można zrobić co się chce,
zamiast odpowiedniego zaklęcia na każdą czynność :P
Re: Wstawienie tablicy do zakresu
Author: Bear
Date: Tue, 02 Oct 2012 09:47
Date: Tue, 02 Oct 2012 09:47
13 lines
2397 bytes
2397 bytes
Dzięki za wszystkie odpowiedzi.
> > Zupełnie nie rozumiem co Wy kombinujecie ... :( (we wszystkich
> > pozostałych odpowiedziach) Po co te pętle i liczniki ? :)
O coś takiego chodziło: Range("A1:U1").Value = Parametry
W sumie najprostsze rozwiązanie.
Pętla pojawiła się jak nie zadziałało pierwsze podejście do rozwiązania (jak się nie zna metody do obiektu to czasami ciężko znaleźć, dlatego liczyłam na grupę)
> Tym się różni programowanie od magii :D
> Kilka(dziesiąt) prostych komend, którymi można zrobić co się chce,
> zamiast odpowiedniego zaklęcia na każdą czynność :P
To są wady i zalety programowania obiektowego, jak znasz zaklęcie to wstawiasz i już, jak nie znasz to pozostaje tradycyjny sposób (:
Dzięki i pozdrawiam
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