Dobrý den,
mám problém s excelem, z něhož mám zpracovávat data. Již jsem zde prosila o makro na promazání řádků "Excel-makro na promazání řádků", ale teď když mám excel s 65 000 řádky, tak mi makro nefunguje, ani při polovičním počtu řádků. Potřebuji data z měření nějakým způsobem zredukovat, poraďte mi prosím někdo, jakým způsobem by to bylo možné.
Předem velice děkuji. Iva
Excel 65 000 řádků
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: Excel 65 000 řádků
Z uvedeneho neni zrejme, proc "mi makro nefunguje".
Nevylucuji, ze nebyl v procedure upraven nazev listu urceneho k redukci radku.
Proto prikladam upravenou proceduru (v editoru VBA - Alt+F11 - vloz do standardniho modulu, zavolej z nabidka Nastroje>Makro>... nebo v editoru VBA F5, zadej na vyzvu list a nasobek ponechanych radku):
Overeno na listu se 65536 radky a libovolnym (v rozmezi 2 - 1000) nasobkem cisla ponechanych radku.
Testuj na kopii souboru.
PS.: Pro castejsi pouziti si muzes proceduru vlozit do osobniho sesitu maker nebo do noveho sesitu a pak ve stejne instanci Excelu volat proceduru na aktivnim sesitu urcenem k redukci radku.
Nevylucuji, ze nebyl v procedure upraven nazev listu urceneho k redukci radku.
Proto prikladam upravenou proceduru (v editoru VBA - Alt+F11 - vloz do standardniho modulu, zavolej z nabidka Nastroje>Makro>... nebo v editoru VBA F5, zadej na vyzvu list a nasobek ponechanych radku):
Kód: Vybrat vše
Option Explicit
Sub OdstranRadky()
Dim MyArea As Range, PoslRadek As Long, Kazdy As Byte, Pocatek As Long
Dim Odstran As Range, Ofs As Long
Dim WshtCll As Range, WshtN As String, Ponechat As Integer
On Error Resume Next
Set WshtCll = Application.InputBox("Vyber list a klikni na libovolnou bunku, pak OK", , , , , , , 8)
If Err.Number <> 0 Then Exit Sub
On Error GoTo 0
WshtN = WshtCll.Parent.Name
Ponechat = Application.InputBox("Zadej cislo vyjadrujici nasobek ponechanych radku" _
& " (ponechat kazdy n-ty radek v rozmezi 2 - 1000)", , , , , , , 1)
If Ponechat < 2 Or Ponechat > 1000 Then
MsgBox "nutno zadat cislo v rozmezi 2 - 1000"
Exit Sub
End If
Set MyArea = Worksheets(WshtN).UsedRange
If IsEmpty(MyArea) Then End
PoslRadek = MyArea.Rows.Count
Application.ScreenUpdating = False
Set Odstran = Worksheets(WshtN).Range("1:" & Ponechat - 1).Rows
Ofs = Ponechat
Ponechat = Ponechat - 1
Do While Ofs < PoslRadek
Odstran.Offset(Ofs, 0).EntireRow.Delete
Ofs = Ofs + 1
PoslRadek = PoslRadek - Ponechat
Loop
Odstran.EntireRow.Delete
Range("a1").Select
Application.ScreenUpdating = True
Set MyArea = Nothing
Set Odstran = Nothing
End Sub
Overeno na listu se 65536 radky a libovolnym (v rozmezi 2 - 1000) nasobkem cisla ponechanych radku.
Testuj na kopii souboru.
PS.: Pro castejsi pouziti si muzes proceduru vlozit do osobniho sesitu maker nebo do noveho sesitu a pak ve stejne instanci Excelu volat proceduru na aktivnim sesitu urcenem k redukci radku.
Re: Excel 65 000 řádků
Omlouvám se, že jsem podrobněji nenapsala, jakým způsobem to nefunguje.... Jedná se o to, že zmíněný excel má 175 MB. Proto jakmile spustím makro (které v tomtéž excelu, pokud odmažu řádky třeba na 300 řádků, bezproblémů funguje) vše se zasekne. Teď jsem zkoušela nechat počítači více času - 4 hodiny a přesto stále vše zaseklé. Asi je problém v tom, že to nezvládá můj počítač...
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: Excel 65 000 řádků
Pak nezbyva nez pouze list k redukci zkopirovat do noveho souboru a pak redukovat radky (pokud nebylo temi 175MB mineno, ze to je jen onen list).
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw) - 2
- 4772
-
od Riviera kid
Zobrazit poslední příspěvek
02 zář 2024 16:21
-
-
- 2
- 12188
-
od Snekment
Zobrazit poslední příspěvek
29 led 2025 15:05
-
- 1
- 4602
-
od atari
Zobrazit poslední příspěvek
07 kvě 2025 09:41
-
- 3
- 3316
-
od lubo.
Zobrazit poslední příspěvek
24 říj 2024 00:00
-
-
Excel 2016 - vzorec kombinace podmínek Příloha(y)
od MK_Vs » 08 led 2025 17:56 » v Kancelářské balíky - 5
- 4068
-
od lubo.
Zobrazit poslední příspěvek
14 led 2025 00:51
-
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 10 hostů