Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  114 115 116 117 118 119 120 121 122   další »

Má to byť asi graf nejakej funkcie, že? V tom prípade použi typ grafu, ktorý je v Excel 2007 označovaný ako bodový, prípadne X,Y graf.

Bez VBA: http://peltiertech.com/WordPress/conditional-formatting-of-excel-charts/
S použitím VBA: http://peltiertech.com/WordPress/vba-conditional-formatting-of-charts-by-value/
P.S. Trvalo cca 10 sekúnd zadať to do googlu - hľadaný reťazec: colors in chart by value, kluci, trošku snahy to chce 1

Na úvod upozorním, že prílohu som neštudoval. Zlučovanie dát z rôznych listov, či súborov, ale krásne rieši Ron de Bruin na svojich stránkach. Mimo uvedeného tam človek nájde spústu úžasných kódov na riešenie mnohých iných problémov, takže doporučujem preštudovať každému, koho VBA zaujíma. Tvoj problém rieši v nasledujúcich odkazoch:
http://www.rondebruin.nl/summary.htm(data z rôznych listov do súhrnného listu)
http://www.rondebruin.nl/fso.htm(data z rôznych zošitov do súhrnného listu) - úpravou kódu v tomto linku som vyriešil ku svojej spokojnosti podobnú úlohu práve tento týždeň

Problém spôsobujú definované názvy, ktoré sú definované pre rôzne listy - na cieľovom liste máš už názov, ktorý kopíruješ zo zdrojového listu. Pokiaľ sa chceš vyhnúť tým hláškam, tak ich budeš musieť premenovať, eventuálne odstrániť. Je to niekde na záložke Data, alebo Funkcie (z hlavy si presne nepamätám), hľadaj definované názvy (prípadne použi help (F1) a do vyhľadávacieho okienka zadaj definované názvy - to Ťa navedie, kde to meniť).

Čokoľvek od Johna Walkerbacha, ja mám napr.Excel 2000&2002, programovanie vo VBA, ale videl som i verzie pre 2007, vydáva Computerpress. Okrem toho mám ešte napr. Excel 2007 VBA velká kniha riešení, autori Melanie Breden a Michael Schwimmer, tiež vydal Computerpress, ale zatiaľ som sa k tomu nedostal takže k tejto referenciu nedám. Ten Walkerbach je ale klasika a určite doporučujem, pokiaľ prejdeš celú knihu, tak Ťa už vo VBA asi máločo prekvapí. Je to na pár mesiacov intenzívneho štúdia, cena cca 800 Kč - vyplatí sa.

Problém zrejme spôsobuje, že v podmienke máš asi omylom 2x cb217, ale neskúšal som to, len hádam.
K druhej otázke: musíš ich zoskupiť do jednoho rámčeka.

Klik pravým tlačítkom myši v bunke, z príručného menu vybrať vložiť hypertextový odkaz, z menu odkaz na vybrať miesto v tomto dokumente. Hyperlink môžeš zadať priamo v bunke alebo si ho vložiť do tlačítka (trochu zbytočné).

to ma tiež napadlo, alebo ďalej v kóde miesto OKi použivať pole(i-1), ale ťažko povedať, čo s čím v misockovom kóde bude súvisieť. Každopádne, 120 jednotlivých premenných je asi predsa len príliš :)

Rozumiem zadaniu, ale riešenie asi nedám. Chceš vynulovať premenné OK1 až OKxxx jednotlivo, pomocou nejakého cyklu. Nakoľko premenné nie sú indexované, tak cyklom to asi nepôjde. Mám taký pocit, že by pomohlo pre uvedené premenné definovanie novej class (za použitia class module) a následné vynulovanie hodnôt premenných v rámci celej takto novo vytvorenej triedy, moje aktuálne znalosti ale ešte nedosahujú použiteľnej úrovne v tejto oblasti.

pri option base 0 (nemusíš zadávať), asi takto nejak:Option Explicit

Sub pom()
Dim i As Integer
Dim pole(2) As Variant
Dim x, y, z
x = 1
y = 2
z = 3

'nacitanie premennych do pola pole
pole(0) = x
pole(1) = y
pole(2) = z

'sú tam?
For i = 0 To 2
Debug.Print pole(i)
Next i

'vymazanie premenných z pola pole
For i = 0 To 2
pole(i) = 0
Debug.Print pole(i)
Next i

'sú tam nuly?
For i = 0 To 2
Debug.Print pole(i)
Next i

End Sub
prípadne takto:Option Explicit

Sub pom()

Dim pole As Variant
Dim x, y, z

x = 0
y = 0
z = 0
pole = Array(x, y, z)
End Sub

jednotlivé hodnoty z poľa potom napr pomocou for i=0 to UBound(pole)
pole(i)=0
next i

No, meneným zadaním si ma síce potrápil, ale nakoniec Ti to snáď k niečomu bude, to ma teší.

Spôsobov je viacej, nie vždy každý zafunguje:
a) pri importe v sprievodcovi nastaviť ako oddeľovač desatinného čísla bodku, prípadne importovať daný stĺpec ako text
b) pri importe celý csv v prvom kroku naimportovať celý do jednoho stĺpca, až následne to rozsekať priamo v exceli cez data - text do stĺpcov, tam nastaviť správny oddeľovač desatinného čísla, t.j. bodku
c) upraviť csv najprv v notepade, či worde - nahradiť bodky čiarkami
d) dočasne pre potreby importu zmeniť oddeľovače v ovládacích paneloch - národnom prostredí, po importe to vrátiť späť
Ono je to vždy trochu problém a jediný spôsob, na ktorý som prišiel, je metóda pokus-omyl.

Nechcem byť zbytočne uštipačný, ale toto je už tretie iné zadanie 7. Tu je pokus, budeš si to musieť dorobiť, zatiaľ to mení na červenú tú bunku, ktorú zafarbíš na modro:Option Explicit
Dim LastSelection As Range
Dim LastColor As Double

Private Sub Workbook_Open()
Set LastSelection = Selection
LastColor = Selection.Interior.Color
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
LastColor = LastSelection.Interior.Color
If LastColor = 12611584 Then
LastSelection.Select
Selection.Interior.Color = 255
Else: Set LastSelection = Selection
End If
End Sub

Ďalšie farby si môžeš dodať cez Select Case, môžeš si to upraviť tak, že na Teba bude vyskakovať MsgBox v prípade, že farba použitá vo výbere nie je medzi povolenými v rámci Select Case a odstrániť to prefarbovanie na červenú. Idea tu je, je na Tebe, aby si si to dotvoril. Aby si zistil, ako to funguje, musíš nejakú bunku zafarbiť na modro a odskočiť z nej, počas dobu, v ktorej budeš v danej bunke stáť, sa neudeje nič.

Pomienku pre podmienené formátovanie môžeš vytvoriť napr. pomocou funkcie countif. Pokiaľ výsledkom countif, kde budeš testovať, či hodnota z jedného stĺpca sa nachádza i v druhom stĺpci, bude číslo väčšie než nula, tak nastavíš podmienený formát na červené písmo.

Nie je mi úplne zrejmé, čo chceš dosiahnuť, Tvoje pôvodné zadanie je možné riešiť nasledovne:Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Excel.Selection.Interior.Color = 12611584 Then
Excel.Selection.Interior.Color = 255
MsgBox "Červená - 255"
End If
End Sub
Akurát si tým svojim pôvodným kódom prekontroluj hodnotu tej modrej, mne to ukazuje hodnotu 12611584, ale možno Ti ide o to, zmeniť na červenú iný odtieň modrej


Strana:  1 ... « předchozí  114 115 116 117 118 119 120 121 122   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