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 text na konec více řádků najednou Příloha(y)
od Myerina » 03 led 2024 11:51 » v Kancelářské balíky - 5
- 979
-
od Zivan
Zobrazit poslední příspěvek
04 led 2024 09:42
-
-
- 3
- 1990
-
od Melvidor
Zobrazit poslední příspěvek
21 črc 2023 08:41
-
-
Ukotvení prvního a posledního řádku v tabulce.
od Kopusek » 13 pro 2023 10:50 » v Kancelářské balíky - 2
- 1590
-
od Kopusek
Zobrazit poslední příspěvek
14 pro 2023 08:55
-
-
- 16
- 6367
-
od mirekol
Zobrazit poslední příspěvek
20 říj 2023 08:31
-
- 3
- 2051
-
od Story-Long
Zobrazit poslední příspěvek
14 srp 2023 10:11
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 46 hostů