Stránka 1 z 1

Hodnoty místo vzorců VBA

Napsal: 09 říj 2018 12:30
od VOM
Pěkně zdravím
Používám níže uvedené makro.
Protože sešit se stává pomalým, pravděpodobně kvůli množství vzorců, potřebuji makro upravit tak, aby se nakonec makra vzorce nahradili hodnotami.

Sub Makro11()
' používá se Workbook_BeforeSave
' vloží vzorce do sloupců N,O,P, které slouží k filtrování

Dim LastRow As Integer

Sheets("specification").Select

Application.ScreenUpdating = False
Range("c10000").Select
Selection.End(xlUp).Select
Selection.Activate
LastRow = ActiveCell.Row + 10


Debug.Print LastRow


Range("N9").Select
ActiveCell.FormulaR1C1 = "=IF(RC[12]=1,MID(RC[-11],1,14),R[-1]C)"

Range("O9").Select
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[11]=1,RC[-13]>0),""Whole Mach."",IF(AND(RC[11]<>1,RC[-13]>0),RC[-12],""-""))"

Range("P9").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[10]=1,""Whole mach."",IF(RC[10]=2,RC[-13],R[-1]C))"



Range("N9:P9").Select
Selection.Copy
Range("N10 :" & "P" & LastRow).Select
ActiveSheet.Paste


Range(" A4").Select

Application.ScreenUpdating = True
End Sub



Prosím o pomoc.
děkuji
Milan

Re: Hodnoty místo vzorců VBA

Napsal: 09 říj 2018 12:56
od guest
Chcete to řešit? Pak to ukažte, řekněte smysl. Kód není úplně růžový, nejspíš bych ho přepsal. Ale nejspíš to nebude důvod pomalosti.

Re: Hodnoty místo vzorců VBA

Napsal: 09 říj 2018 13:34
od VOM
Informace vložené do tří sloupců používám k filtrování databáze (náklady a specifikace), která má cca 5000 řádků. V databázi je cca 40000 vzorců. Myslím, že když jich 15000 odstraním, že to bude rychlejší.
díky
Milan

Re: Hodnoty místo vzorců VBA

Napsal: 09 říj 2018 13:46
od guest
Ano, máte pravdu, je to ptákovina. Ale záplatovat výše uvedený zmatený kód naslepo nechci. Buď to chcete řešit a posunete to, nebo ne.

Re: Hodnoty místo vzorců VBA

Napsal: 09 říj 2018 14:26
od VOM
Chtěl jsem dát na konec makra níže uvedené, ale havaruje to.
Kde je v tomto chyba prosím?
Hezký den
Milan

' Range("N9 :" & "P" & LastRow).Copy
' Range("N9").Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
' :=False, Transpose:=False

Re: Hodnoty místo vzorců VBA

Napsal: 09 říj 2018 15:30
od guest
Fakt to tady nebudu dávat dohromady naslepo.

Re: Hodnoty místo vzorců VBA

Napsal: 12 říj 2018 15:21
od VOM
Správně má být:

Range("N9 :" & "P" & LastRow).Copy
Selection.Copy
Range("N9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

M.

Re: Hodnoty místo vzorců VBA

Napsal: 12 říj 2018 16:22
od guest
Zadání sem dáváte tak, že vyhazujete z ohniště ohořelé klacky. Kdybyste chtěl pomoct, vypadalo by to jinak.