Stránka 1 z 1

vloženie makra

Napsal: 06 bře 2016 18:55
od Matthias17
Ahojte,

potreboval by som poradiť s makrom v exceli. Ide o to že potrebujem vytvoriť makro ktoré by mi prekopírovavalo zmenený riadok na nový list. v prílohe posielam vzor s tým že mi to kopíruje každú zmenu pod seba a ja by som to chcel skopírovať do riadku aby to bolo prehladnejsie a vytvorit cez makro ako keby historiu pozicanych veci kde sa mi zobrazi kedy a kym boli pozicane a vratene.

Budem rád za každú radu.

Re: vloženie makra

Napsal: 07 bře 2016 06:23
od cmuch
Ahoj,
toto vlož do modulu listu "Data", po vyplnění sloupců datama se hodnoty přenesou na druhý list.
Třídit se dá podle posledniho sloupce (radek na kterém proběhla změna)

Kód: Vybrat vše

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim a As Worksheet, b As Worksheet
  Dim rb As Long

  Set a = Sheets("Data")
  Set b = Sheets("Změny")

  If a.Cells(Target.Row, "C") <> "" And a.Cells(Target.Row, "D") <> "" And a.Cells(Target.Row, "E") <> "" And _
     a.Cells(Target.Row, "F") <> "" And a.Cells(Target.Row, "H") <> "" Then

     rb = b.UsedRange.Rows.Count + 1
     b.Cells(rb, 1) = Now
     b.Cells(rb, 2) = Application.UserName
     b.Cells(rb, 3) = a.Cells(Target.Row, "C")
     b.Cells(rb, 4) = a.Cells(Target.Row, "D")
     b.Cells(rb, 5) = a.Cells(Target.Row, "E")
     b.Cells(rb, 6) = a.Cells(Target.Row, "F")
     b.Cells(rb, 8) = a.Cells(Target.Row, "H")
     b.Cells(rb, 9) = Target.Row
     If a.Cells(Target.Row, "G") <> "" Then
        b.Cells(rb, 6) = a.Cells(Target.Row, "G")
     End If
  End If
End Sub