Stránka 1 z 1

Excel smazání každého druhého sloupce

Napsal: 06 kvě 2012 01:28
od Tapetář
Ahoj, prosím o radu, jak by bylo možné v Excelu smazat každý druhý sloupec. Popřípadě odstranit buňku vždy s určitou hodnotou. Mám právě nějaká naměřená data a je jich celkem dost ---> vždy asi 2000. Je to vždy tak, že v jednom sloupci je hodnota kterou potřebuji pro výpočet a ve druhhém sloupci je znaménko, které pro výpočet nepotřebuji a takto se to neustále opakuje. To znaménko je tam vždy + nebo -. Pro představu přidávám příklad těchto hodnot http://www.uloz.to/xSwNvFM/hodnoty-xlsx . Děkuji za odpověď. S pozdravem J.

Re: Excel smazání každého druhého sloupce

Napsal: 06 kvě 2012 11:52
od pavel.lasak
Smazání x-tého řádku v zadané oblasti


Kód: Vybrat vše


N = 2
Set DeleteRange = Range("A1:A10")

Dim cCount As Long, c As Long
    If DeleteRange Is Nothing Then Exit Sub
    If DeleteRange.Areas.Count > 1 Then Exit Sub
    If N < 2 Then Exit Sub
    With DeleteRange
        cCount = .Columns.Count
        For c = N To cCount Step N - 1
            .Columns(c).EntireColumn.Delete
        Next c
    End With



Další možnosti jak mazat sloupce (řádky) splňující určitou podmínku


Kód: Vybrat vše

    Set rng = Range("A1:A10")
    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


Případně další kódy pro práci s řádky a sloupci http://office.lasakovi.com/excel/vba-li ... -vba-kody/

Re: Excel smazání každého druhého sloupce

Napsal: 06 kvě 2012 12:25
od d1amond
Problém bych viděl v pevně použité oblasti pro mazání. Raději bych měl možnost na základě uvedených parametrů + a - procházet 1 řádek a pokus narazí na 1. znak + nebo mínus, smaže příslušný sloupec.

Re: Excel smazání každého druhého sloupce

Napsal: 06 kvě 2012 14:57
od pavel.lasak
Pokud je zpracovávaný dokument stále stejný, pevné oblasti bych se nebál. Nebo lze zjistit poslední vyplněný sloupec

Kód: Vybrat vše

PosledniPlnySloupec = Cells(1, Columns.Count).End(xlToLeft).Column


Parametry zadávat do formuláře (místo +- se může zadat cokoli jiného), nebo pevně dané?
V ukázce stačí mazat každý druhý sloupec (pokud nedochází ke změnám).

Re: Excel smazání každého druhého sloupce  Vyřešeno

Napsal: 06 kvě 2012 18:25
od Tapetář
Návod na smazání od pavel.lasak funguje dobře a svůj účel splnil. Děkuji za všechny odpovědi. S pozdravem J.