Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Louro

    őstag

    válasz Cifu #26981 üzenetére

    Ööö, elsőre nem tűnik vészesnek. Adott egy forrástábla. Pl. Első munkalapon. Második munkalpra vagy a táblázat mellé új oszlopokba akarsz kalkulált értékeket.

    Vegyük utóbbit.

    Én úgy csinálnám, hogy

    Range(Cells(2,ActiveSheet.UsedRange.Columns.Count+1),Cells(ActiveSheet.UsedRange.Rows.Count,ActiveSheet.UsedRange.Columns.Count+1)) = "=A2+D2/F2"

    Range() : Hol is akarunk dolgozni. -tól -ig. Ezért kell két cellát megadni.
    ActiveSheet.UsedRange.Columns.Count : Az aktív munkalap kitöltöttségének utolsó oszlopának sorszáma. Mivel nem az utolsót akarjuk felülírni, hanem mellé tenni, ezért a +1.

    Remélem ez valamicskét segít.

    Különben lehet akár 10000+ sor is. Első függvényt megírva már csak másolni kell a függvényt :) (Jobb alsó sarokra kattintva.) Oszloponként pedig elég felülírni az értékeket, hogy ne kalkulálja mindig elölről mindig az egészet.

  • Árnymester

    tag

    válasz Cifu #26981 üzenetére

    Lehet nem a legelegánsabb megoldás...

    Sub Szetszed()
    Dim MyWs As Worksheet
    Set MyWs = ActiveSheet
    'Az első másolandó sor száma
    r = 1
    Do Until Not IsEmpty(MyWs.Cells(r, 1)) 'Ide olyan oszlopot adj meg, ami minden sorban tartalmaz adatot!
    ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
    'Ide jönnek az oszlopok, a c1-c5-ök helyére a forrás(MyWs) értékes oszlopait kell beírni.
    'Címsor másolása
    ActiveSheet.Cells(1, 1).Value = MyWs.Cells(1, c1)
    ActiveSheet.Cells(1, 2).Value = MyWs.Cells(1, c2)
    ActiveSheet.Cells(1, 3).Value = MyWs.Cells(1, c3)
    ActiveSheet.Cells(1, 4).Value = MyWs.Cells(1, c4)
    ActiveSheet.Cells(1, 5).Value = MyWs.Cells(1, c5)
    'Adatok másolása
    ActiveSheet.Cells(1, 1).Value = MyWs.Cells(r, c1)
    ActiveSheet.Cells(1, 2).Value = MyWs.Cells(r, c2)
    ActiveSheet.Cells(1, 3).Value = MyWs.Cells(r, c3)
    ActiveSheet.Cells(1, 4).Value = MyWs.Cells(r, c4)
    ActiveSheet.Cells(1, 5).Value = MyWs.Cells(r, c5)
    r = r + 1
    Loop
    End Sub

Új hozzászólás Aktív témák