< návrat zpět

MS Excel


Téma: Konstanta do proměnné rss

Zaslal/a 25.6.2014 11:13

Ahoj,
poraďte prosím. V hlavě mám temno a v buňce
A1 - např. xlPatternHorizontal. Jak tuto konstantu načíst do proměnné abych s ní mohl dále pracovat?
Trochu trápí uvozovky (datový typ) 6
Sub vypln()
pozadi = Cells(1, 1)
Cells(1, 2).Interior.Pattern = pozadi
End Sub
Díky

Zaslat odpověď >

Strana:  1 2   další »
#020124
avatar
U Cells(1, 1) jsi neuvedl, že chceš ukládat ono pozadí.
P.

Možné řešení:
Sub vypln()
Dim pozadi As Integer
pozadi = Cells(1, 1).Interior.Pattern
Cells(1, 2).Interior.Pattern = pozadi
End Sub
citovat
#020125
avatar
To Pavlus
v A1 není nastaveno pozadí, je tam text např. xlPatternHorizontal a podle něj chci nastavit pozadí v A2citovat
icon #020128
eLCHa
xlPatternHorizontal není text ale definovaná konstanta s hodnotou -4128
neřešte to přes proměnnou, řešte rovnou

Cells(1, 2).Interior.Pattern = Cells(1, 1).Interior.Pattern


edit:
už asi rozumím
Hodnota buňky je "xlPatternHorizontal"
Nemůžete do buňky napsat -4128 ?citovat
#020133
avatar
To je přesně ono.
Toto je jen příklad pro jednoduchost.
Obecně hledám funkci (něco jako Val či Str), která by převedla text z buňky na datový typ použitelný dále v kódu (viz Téma a uvozovky)citovat
#020134
avatar

archangel napsal/a:

To Pavlus
v A1 není nastaveno pozadí, je tam text např. xlPatternHorizontal a podle něj chci nastavit pozadí v A2

Sub vypln()
If Cells(1, 1) = "xlpatternhorizontal" Then pozadi = xlPatternHorizontal
Cells(1, 2).Interior.Pattern = pozadi
End Subcitovat
#020136
avatar
Vtipně a krásně jsi to obešel 2
Já to, ale potřebuji jak jsem psal, text v buňce dostat do proměnné. (jako-by pomocí hodnot v buňce měnit kód.)
Zítra bude v buňce třeba "xlPatternCrissCross" ať se také pozadí změní.citovat
icon #020138
eLCHa
Já to, ale potřebuji jak jsem psal, text v buňce dostat do proměnné. (jako-by pomocí hodnot v buňce měnit kód.)
To podle mého názoru neuděláte. Jediná možnost je udělat tabulku např.:

xlPatternAutomatic -4105
xlPatternChecker 9
xlPatternCrissCross 16
xlPatternDown -4121
xlPatternGray16 17
xlPatternGray25 -4124
xlPatternGray50 -4125
xlPatternGray75 -4126
xlPatternGray8 18
xlPatternGrid 15
xlPatternHorizontal -4128
xlPatternLightDown 13
xlPatternLightHorizontal 11
xlPatternLightUp 14
xlPatternLightVertical 12
xlPatternNone -4142
xlPatternSemiGray75 10
xlPatternSolid 1
xlPatternUp -4162
xlPatternVertical -4166

a v ní pak pomocí vyhledávací fce přiřadit číselnou hodnotu

K čemu Vám je, že máte v listu místo čísla název konstanty? Proč tam nemůžou být ta čísla?citovat
#020140
avatar

archangel napsal/a:

Vtipně a krásně jsi to obešel
Já to, ale potřebuji jak jsem psal, text v buňce dostat do proměnné. (jako-by pomocí hodnot v buňce měnit kód.)
Zítra bude v buňce třeba "xlPatternCrissCross" ať se také pozadí změní.


Tak tam daj toľko podmienok koľko potrebuješ

If Cells(1, 1) = "xlpatternhorizontal" Then pozadi = xlPatternHorizontal
If Cells(1, 1) = "xlpatterncrisscross" Then pozadi = xlPatternCrissCross
....

Alebo if cells(1,1)=1 then pozadí=xlpatternhorizontal
if cells(1,1)=2 then pozadí=xlpatternvertical
if cells(1,1)=3 then pozadi=xlpatterncrisscross

alebo použi príkaz CASE
2citovat
#020141
avatar
jj tak toho jsem se bál, že to přijde:
To podle mého názoru neuděláte. Jediná možnost je udělat tabulku
Je to smutné, chtěl jsem obecně pomocí buňky měnit kód. Škoda.
Přesto mnohokráte děkuji. Naděje umírá poslední 1citovat
#020142
avatar
@eLCHa
Ak to bude pre bežného používateľa, tak mu tie čísla nič neprezradia. To neprezradia ani tie názvy ako xlpatternhorizontal....
Najjednoduchšie sa mi vidí dať do bunky príslušný formát a ten skopírovať ako to už niekto uviedol(Pavlus). Tak každý bude vedieť, čo sa cs bunkou stane. Teda možno. 10citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32

Čas od do

jarek1111 • 18.4. 8:31

Makro smyčka

MilanKop • 18.4. 7:18

Makro smyčka

elninoslov • 18.4. 0:18

Makro smyčka

MilanKop • 17.4. 21:33