Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  19 20 21 22 23 24 25 26 27   další » ... 53

Má-li to být univerzální tak bych to nedělal pro každý měsíc zvlášť, možná ani ne všechny druhy najednou, ale zatím jsem to nechal s nima.
Pojmenované oblasti ... Menu Vložit -> Název -> Definovat.
Opravdu se vyplatí je používat ;-)

M@

a já to úmyslně ošetřil podmínkou když hodnota je větší nebo rovno 1, tak zapiš 1, jinak 0 :-), tak stačí tuto podmínku vyhodit :-)

M@

vypadá to trochu šíleně :-), ale třeba to bude fungovat.
měsíce jsem zapsal ve formátu data (vždy první den měsíce). Pak jsou tam definované proměnlivé oblasti v závislosti na počtu zadaných řádků, no a to hlavní vzorec je řešen skalárním součinem.

M@

Ahoj,

teď nevím jestli to chápu, nebo je v tom nějaký háček :-).

Příloha by pomohla, takhle jsem si zkusil prostě jen něco vymyslet.

M@

Udělal jsem takovej malej příklad - viz. příloha.

List obsahuje pojmenovanou oblast jedné buňky s názvem Interval obsahující časový interval pro změnu, 2 tlačítka s odkazem na konkrétní makra (START a ZASTAV) a jeden posuvník měnící interval od 3s do 2m, vše ostatní už jsou pak makra:
v modulu:

Dim status As Boolean

Public Sub casovac()
If status = True Then Application.OnTime Now + Range("Interval").Value * (1 / 24 / 3600), "TAKT"
End Sub

Public Sub TAKT()
If status = True Then
Dim ind As Single
ind = ActiveSheet.Index
If ind < Sheets.Count Then Sheets(ind + 1).Activate Else Sheets(2).Activate 'když aktuální list není poslední, tak skoč na další jinak skoč na druhý (tzn. vynech list Ovládání)
Call casovac
End If
End Sub

Public Sub START()
status = True
Application.DisplayFullScreen = True
Call TAKT
End Sub

Public Sub ZASTAV()
status = False
Application.DisplayFullScreen = False
End Sub


a při aktivaci listu ovládání (stopnutí časovače)

Private Sub Worksheet_Activate()
Call ZASTAV
End Sub


PS: je to stavěno v Office 2003, nevím jestli se 2010 v některých funkcích neliší.

M@

jen tak v rychlosti:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Value <> "" Then Cells(Target.Row, 2) = Now
End Sub

M@

Nějak takto?
XY graf.

M@

pokud by šlo o jednorázové řešení, tak bych si do sloupce C v obou souborech spojil hodnotu ze sloupce A a B (C2=A2&B2) a pak už stačí do sloupce D vložit funkci SVYHLEDAT hodnotu ze sloupce C souboru 1 ve sloupci C souboru 2.

M@

Předpokládám že jde o něco jako databázi s x údaji, šablona předpokládám že je jakýsi tiskový výstup do kterého se do určených pozic dosadí data z databáze a to pro každý řádek databáze a mezi tím se ten tiskový výstup pošle na tiskárnu. Což by mohlo být jednoduché, snažší by to ale bylo, kdyby ta šablona byla jako další list toho jediného souboru, což by eliminovalo nutnost přenášet data mezi 2 soubory.

M@

M@

třeba kombinace funkce index a pozvyhledat.
M@

teoreticky:

Dim ovoce_list() As String
Dim ovoce As String
ovoce_list = Split("pomeranc,jablko,banan,kiwi", ",")

For o = 0 To UBound(ovoce_list)
Windows(excel_1).Activate 'prepne do weekly reportu

ovoce = ovoce_list(o) 'vyber ovoce
ActiveSheet.PivotTables("PivotTable_TOP_TEN").PivotFields("ConfigCode").CurrentPage = ovoce 'nastaveni PIVOT tabulky na ovoce
ActiveSheet.PivotTables("PivotTable_TOP_TEN").PivotCache.Refresh 'refresh

Range("TOP_TEN_AREA").Select 'oznaci oblast TOP TEN v PIVOT tabulce pro dane ovoce
Application.CutCopyMode = False 'CTRL+C
Selection.Copy 'CTRL+C

Windows(excel_2).Activate 'prepne do weekly reportu
Range(ovoce & "_area").Select 'oznaci oblast TOP_TEN pro dane ovoce
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'CTRL+P (pouze hodnoty)

Next

M@

trochu googlení:
pro získání globálního nastavení:
Application.International(xlDecimalSeparator)
pak podmínkou ošetřit načítací kód

nebo zkusit u aplikace změnit
Application.DecimalSeparator = "."
Application.DecimalSeparator = ","
a zkusit jak se to zachová.

Nezkoušel jsem :-)
čerpáno z ...http://www.excelforum.com/excel-programming/745413-getting-decimal-separator.html
M@

Ve firemní síti řeším tak, že soubor s makry mám na síti a jednotlivá tlačítka panelu nástrojů s vlastními makry se pak odkazují na tento soubor. Narozdíl od kopírování maker do personal, touto cestou mám pořád správu nad makry a jakákoliv změna v makru se projeví u všech uživatelů a ne že každý bude mít jinou verzi :-).
Soubor se jmenuje makra.xls a po ukončení cyklu se sám bez dotazů zavře, příklad:
Sub DiakritikaX()
On Error Resume Next
Application.DisplayAlerts = False
Dim cs As String
Dim us As String
cs = "ščřážůúíýéěťóďňŠČŘÁŽŮÚÍÝÉĚŤÓĎŇ" ' případně některé další
us = "scrazuuiyeetodnSCRAZUUIYEETODN" ' pripadne nektere dalsi

For i = 1 To Len(cs)

Selection.Replace What:=Right(Left(cs, i), 1), Replacement:=Right(Left(us, i), 1), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
Next
Application.Workbooks("Makra.xls").Close
End Sub

M@

Nejsnažší by bylo ošetřit si to v tom simulačním programu - při loadu ověřit jestli již neběží, případně si s každým spuštěním do registru zapsat 1 a při ukončení 0 - pak jen ověřovat daný klíč registru.
Pokud to ale chceš takhle přes jinou aplikaci, tak to bude složitější a to projetím všech spuštěných procesů a ověření jestli mezi nimi není ten jenž chceš spustit.
Viz. http://rajasekharmatam.blogspot.cz/2008/06/simple-vb-script-to-check-if.html
M@


Strana:  1 ... « předchozí  19 20 21 22 23 24 25 26 27   další » ... 53

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