< návrat zpět

MS Excel


Téma: nahrazení chyby #ODKAZ! pomocí makra rss

Zaslal/a 19.5.2014 16:15

ahoj ahoj,
už měsíc se trápím pátráním po způsobu jak nahradit chyby #ODKAZ! ve vzorcích pomocí makra hromadně na celém listu.
problém vzniká z toho, že náš reportovací systém generuje reporty se značným počtem řádků, z nichž mnohé jsou nulové. vytvořili jsme si makro na kontrolu a smazání prázdných řádků a sloupců, které funguje správně. Bohužel na většinu smazaných řádků odkazují součtové vzorce, takže po jejich smazání se odkaz ve vzorci suma nahradí chybou #ODKAZ!. Chtěla jsem se toho jednoduše zbavit variantou find=#ODKAZ! replace=0, ale to bohužel nefunguje.
Můžete mi prosím někdo poradit, jak se #ODKAZ!ů v sumě zbavit? Díky moc :)

Zaslat odpověď >

Strana:  1 2   další »
#019550
avatar
no ja by som radsej upravil to makro kde vam premazava bunky a snazil by som sa ho urobit tak aby nevznikal preblem s #ODKAZ

..... je blbe programovat dalej s chyboucitovat
#019551
avatar
aha, tak to mě teda ale už vůbec nenapadá jak, když cílem celého snažení je zredukovat počet řádků v reportu pouze na nenulové řádky a zároveň zachovat součtové vzorce v souhrnných řádcích.
nějaký nápad?citovat
#019552
avatar
priloha by bodla :))citovat
#019566
avatar
Co vlastně nefunguje při nahrazní #ODKAZ! za nulu?citovat
#019607
avatar
omlouvám se za zpoždění odpovědí, takže zkoušela jsem tyto dvě varinaty
1)
Sub replace()

Cells.Select
Selection.replace What:="#ODKAZ!", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

End Sub

2)
Sub replace_new()

Dim Findtext As String
Dim Replacetext As String
Findtext = "#ODKAZ!"
Replacetext = "0"
ActiveSheet.Select
Cells.replace What:=Findtext, Replacement:=Replacetext, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

End Sub

ani jedna tato varianta mi však chybu nulou bohužel nenahradila :(citovat
#019608
avatar
přikládám datový soubor, řádky xxxxx jsou řádky detailu, které je potřeba porovnat a pokud obsahují pouze nuly, tak odmazat, řádky JA /IP jsou součtové řádky k detilům xxxxx, ty se nemažou ... mazací makro jsem vyrobila na základě přidaného prvního sloupce s podmínkou, která kontroluje nulovost/nenulovost:

Sub delete_rows()
Columns("A:A").Select
Range("A46").Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Set Rng = Range("A1:A2000")
i = 1
For counter = 1 To Rng.Rows.Count
If Rng.Cells(i) = "smazat" Then
Rng.Cells(i).EntireRow.Delete
Else
i = i + 1
End If
Next

Set Rng = Range("A1:BA1")
i = 1
For counter = 1 To Rng.Columns.Count
If Rng.Cells(i) = "smazat" Then
Rng.Cells(i).EntireColumn.Delete
Else
i = i + 1
End If
Next

Columns("a:a").Select
Selection.Delete


End Sub
Příloha: txt19608_report_data.txt (2kB, staženo 23x)
citovat
#019609
avatar
ještě přikládám obrázek, jak ve skutečnosti reporty vypadají (součtové řádky se seskupují do souhrnů), takže cílem je mazat pouze šedozelené řádky xxxxx se zachováním součtových řádků včetně vzorců.
díky za nápady a rady :)
Příloha: jpg19609_report-skutecny-vzhled.jpg (71kB, staženo 57x)
19609_report-skutecny-vzhled.jpg
citovat
#019610
avatar
jen ještě pro info, naprosto v pohodě funguje klávesová zkratka Ctrl+H pro nahrazení #ODKAZ! za 0, zkoušela jsem to i nahrát jako makro, ale nefunguje :( Díky!citovat
#019613
avatar

hannick napsal/a:

jen ještě pro info, naprosto v pohodě funguje klávesová zkratka Ctrl+H pro nahrazení #ODKAZ! za 0, zkoušela jsem to i nahrát jako makro, ale nefunguje :( Díky!


A vieš priložiť aj súbor v exceli? 4citovat
#019614
avatar
Tohle funguje:

Selection.Replace What:="#REF!", Replacement:="0", LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje