< návrat zpět

MS Excel


Téma: Nefunkční vzorec rss

Zaslal/a 17.8.2011 13:57

Zdravím, mohu?

Proč mi tento vzorec napsaný ve vba nefunguje správně?

Dim r, i, rok, mesic, den As Long
Dim l As String

rok = Range("E1")
mesic = 8

r = 9
den = den + 1
l = Cells(r, 5)

Cells(r, 6).Formula = "=SUMIFS('" & l & "'!G13:G1000000,'" & l & "'!B13:B1000000,DATUM(" & rok & "," & mesic & "," & den & "),'" & l & "'!C13:C1000000,""příjem dílů z GRAMMERU"")"



Tím to se mi vzorec vloží do buňky ale pro správné vypočtění musím vzorec ručně potvrdit znovu.

Nevíte prosím co s tím? Díky

N.

Zaslat odpověď >

#005810
avatar
Smažte z vzorci ' " & l & " '! . Všechno funguje. Nic nedělám ručně. Proč přidate toto?citovat
#005811
Začátečník
Netuším proč by měl mazat ' " & l & " '! - je to odkaz na list, ve kterém má data.

Možná bych se zaměřil na druhou podmínku. Není vyhodnocena jako textová.

Teď Excel 2007 (2010) nemám, ale v 2003 je nesprávně vyhodnocena textová podmínka. Chybí uvozovky.

Spíše by to chtělo konkrétní ukázku s daty, aby si nikdo nic nemusel vymýšlet..citovat
#005812
avatar
Vzorec mi přestal fungovat správně když jsem do kodu dal tyto proměnné:DATUM(" & rok & "," & mesic & "," & den & "). Tak třeba to bude tím, ale zatím jsem na nic nepřišel.citovat
#005814
Začátečník
čárky nahradit středníkem

Podívej se na syntaxi funkce DATUM(rok;měsíc;den)citovat
#005819
avatar
Nevzpomínám si, jak v Excel 2003, ale v Excel 2010 funkce DATUM funguje s čárkou místo středníkem.citovat
#005820
avatar
To ukazuje spíš na to, že vkládáš do buňky, která je textová. Vzorec se ti ukáže ale nevypočte. Pak poklepeš nebo přes F2 vstoupíš do editace buňky, nic s ní neděláš a když ji potvrdíš ENTREM pak se vzorec vypočte. Excel se až pak pokusí zjistit, zda se nezměnila povaha buňky a protože najde rovnítko, začne počítat. Běžně se toto vyskytuje u buněk, které jsou nebo byly importovány z textových souborů. Mýlím se ???citovat
#005821
avatar
Jj přesně takhle mi dělá. A jak k tomu předejít ? Díky za odpověď.citovat
#005822
avatar
To není jednoduché. Chceto vyzkoušet co Ti bude fungovat.Něksdy stačí před vložení vzorce.Columns("E:E").NumberFormat = "General" nebo je možné použít
.Columns("X").Replace What:="", Replacement:=Empty
.Columns("X:X").NumberFormat = "General"

Já na to používám své globalni funkce které pak kombinuji.'-------------------------------------------------------------------------------'
Function posledni(sloupek As String) As Long
posledni = Range(sloupek & "65536").END(xlUp).Row
End Function
'-------------------------------------------------------------------------------'
Private Sub loc_nacti()
Dim i As Long
For i = 0 To 9
Selection.Replace What:=CStr(i), Replacement:=CStr(i), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Next i
End Sub
'-------------------------------------------------------------------------------'
Private Sub loc_vypln_vzorec()
Dim i As Long
With ActiveSheet
Selection.FillDown
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
call loc_nacti
End With
End Sub
'-------------------------------------------------------------------------------'
A pak používám v rámci cyklu apod. něco podobnéhoWith Worksheets("Plan zisku")
.Activate
i = poslední("A")
.Range("D1").FormulaR1C1 = "=AND(VLOOKUP(RC6,'SQL'!C2:C6,4,0)=RC7,VLOOKUP(RC6,'SQL'!C2:C6,5,0)=RC8)"
.Range("D1:D" & i).Select
Call loc_vypln_vzorec
End With
Zkus a uvidíš. Excel je někdy tvrdohlavý :_) R.citovat

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