Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel 2007 - makro, vložení textu do buněk

Pěkný den,

mám toto napsané v makru:

Sub Kopiruj()

Application.ScreenUpdating = False

    List7.Activate
    List7.Cells(Cells(1000, 1).End(xlUp).Row, 1).Select
    posledni = ActiveCell.Address(False)
    Range(Cells(4, 1), posledni).ClearContents
    List3.Activate

For i = 1 To 1000

If Cells(i, 3).Value = "Sklad 01" Then

    Cells(i, 1).Copy
    List7.Activate
    List7.Cells(Cells(1000, 1).End(xlUp).Row + 1, 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues
    Selection.NumberFormat = "d mmmm yyyy"
    List3.Activate

    Hodnota = Cells(i, 2).Value
    Cislo = Abs(Hodnota)
    List7.Activate
    List7.Cells(Cells(1000, 1).End(xlUp).Row, 2).Select
    Selection.Cells.Value = Cislo
    Selection.NumberFormat = "# Ks"
    List3.Activate

    List7.Activate
    List7.Cells(Cells(1000, 1).End(xlUp).Row, 3).Select
    Text = "zboží"
    List3.Activate

End If
Next i

Application.CutCopyMode = False
Application.ScreenUpdating = True
List3.Activate

End Sub

Všechno funguje jak má až na tuto část:

    List7.Activate
    List7.Cells(Cells(1000, 1).End(xlUp).Row, 3).Select
    Text = "zboží"
    List3.Activate

A potřeboval bych aby mi to vkládalo od čtvrtého řádku a ne až od pátého.
Co tam je špatně?

Děkuji

Předmět Autor Datum
Skus xCells5
Sehnoutka 22.04.2012 17:33
Sehnoutka
A potřeboval bych aby mi to vkládalo od čtvrtého řádku a ne až od pátého. Můžeš to popsat detailněj…
Siki83 22.04.2012 18:55
Siki83
Nebylo by jednodušší v tom cyklu použít prostě toto? List7.Cells(i+offset, 1) = List3.Cells(i, 1)
Titulkář 22.04.2012 22:21
Titulkář
Tak sem se v tom kódu šťoural. Vyzkoušej funkci Sub Kopiruj() Application.ScreenUpdating = False Li…
Siki83 23.04.2012 00:27
Siki83
Moc děkuju, funguje to jak má. :-) Jen jsem musel ještě před List7.Cells(Cells(1000, 1).End(xlUp)… poslední
Pak 23.04.2012 09:44
Pak

A potřeboval bych aby mi to vkládalo od čtvrtého řádku a ne až od pátého.

Můžeš to popsat detailněji, kam (sloupec, řádek, popř buňka) se má vkládat a co?
Protože:

Text = "zboží"

samozřejmě neudělá nic.

PS: vždy je lepší vložit přímo konkrétní soubor, pokud tam máš nějaká důvěrná data tak nahradit za nějaký blábol. Hlavně aby byla vidět struktura dat. Takhle z kódu se to těžko luští.

Tak sem se v tom kódu šťoural. Vyzkoušej funkci

Sub Kopiruj()

Application.ScreenUpdating = False
    
    List7.Activate
    List7.Cells(Cells(1000, 1).End(xlUp).Row, 1).Select
    posledni = ActiveCell.Address(False, False)
    Range(Cells(4, 1), posledni).ClearContents
    List3.Activate

For i = 1 To 1000

If Cells(i, 3).Value = "Sklad 01" Then

    Cells(i, 1).Copy
    List7.Activate
    List7.Cells(Cells(1000, 1).End(xlUp).Row + 1, 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues
    Selection.NumberFormat = "d mmmm yyyy"
    List3.Activate

    Hodnota = Cells(i, 2).Value
    Cislo = Abs(Hodnota)
    List7.Activate
    List7.Cells(Cells(1000, 1).End(xlUp).Row, 2).Select
    Selection.Cells.Value = Cislo
    Selection.NumberFormat = "# Ks"
    
    List7.Cells(Cells(1000, 1).End(xlUp).Row, 3).Select
    Selection.Cells.Value = "zboží"
    List3.Activate

End If
Next i

Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Zpět do poradny Odpovědět na původní otázku Nahoru