🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.vbasic
8 messages
8 total messages Started by Bear Fri, 28 Sep 2012 05:02
Wstawienie tablicy do zakresu
#102429
Author: Bear
Date: Fri, 28 Sep 2012 05:02
11 lines
511 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
#102430
Author: Bear
Date: Fri, 28 Sep 2012 05:22
8 lines
234 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
#102431
Author: ryszard.mikke@gm
Date: Fri, 28 Sep 2012 05:23
26 lines
682 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
#102432
Author: ryszard.mikke@gm
Date: Fri, 28 Sep 2012 05:29
17 lines
398 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
#102433
Author: Bear
Date: Fri, 28 Sep 2012 05:36
10 lines
259 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
#102435
Author: ryszard.mikke@gm
Date: Fri, 28 Sep 2012 09:37
41 lines
1404 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
#102434
Author: IDKrzych
Date: Fri, 28 Sep 2012 15:59
34 lines
1210 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
#102436
Author: Bear
Date: Tue, 02 Oct 2012 02:47
17 lines
824 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