Příspěvky uživatele


< návrat zpět

paráda, teď už to fičí, díky moc :)
H.

respektive funguje pro list, na kterém právě stojím, ale na všechny ostatní kašle :(

na prvním listě úspěšné, ale druhý ani žádný další list to už pak nekontroluje :(

Sub Makro()
For x = 1 To Sheets.Count
If Sheets(x).Cells(1, 1) = "1" Then Call myMakro
If Sheets(x).Cells(1, 1) = "0" Then Call nic
Next
End Sub

Ahoj ahoj,
chtěla bych poradit s makrem, které zkontroluje jednotlivé listy souboru, pokud najde v buňce A1=1 zavolá makro, pokud buňka A1=0 půjde automaticky zkontrolovat další list a takto projde celý sešit.
Upozorňuji, že názvy listů můžou být různé.
Díky moc.
H.

Bingo :) klaním se Ti Ó velký Lubo :) taková blbost a vůbec mě to nenapadlo :) díky! díky!

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!

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

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 :(

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?

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 :)


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