
Smažte z vzorci ' " & l & " '! . Všechno funguje. Nic nedělám ručně. Proč přidate toto?

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..

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.

čárky nahradit středníkem
Podívej se na syntaxi funkce DATUM(rok;měsíc;den)

Nevzpomínám si, jak v Excel 2003, ale v Excel 2010 funkce DATUM funguje s čárkou místo středníkem.

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 ???

Jj přesně takhle mi dělá. A jak k tomu předejít ? Díky za odpověď.

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.