Keresés

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

  • m.zmrzlina

    senior tag

    válasz iwu #8661 üzenetére

    Nekem ezt sikerült kiötleni:

    Sub valogat()
    Dim sorsz As Integer
    Dim holavege As Integer

    Sheets("Munka1").Select
    Cells(Rows.Count, 1).End(xlUp).Select
    holavege = ActiveCell.Row

    For sorsz = 1 To holavege - 1

    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets(sorsz + 1).Name = Sheets(1).Cells(sorsz + 1, 1).Value

    Sheets("Munka1").Select
    Range("A1:I1").Select
    Selection.Copy
    Sheets(1 + sorsz).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=True
    Sheets("Munka1").Select
    Range("A" & sorsz + 1, "I" & sorsz + 1).Select
    activerow = Range("A" & sorsz + 1, "I" & sorsz + 1).Value
    Selection.Copy
    Sheets(1 + sorsz).Select
    Cells(1, 2).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=True
    Columns("A:B").EntireColumn.AutoFit

    Next sorsz

    Sheets("Munka1").Delete
    ActiveWorkbook.SaveAs "C:\Documents and Settings\agb\Dokumentumok\masneven.xlsm"


    End Sub

    Abból a munkafüzetből indul ahol a kiindulási lista van, elkészíti a munkalapokat igény szerint, majd törli az eredeti lista munkalapját és menti a munkafüzetet más néven.
    Nem egy minden részletében kimunkált végleges megoldás inkább csak gondolatébresztő, de működik.

    Érdekelnének a szakértő vélemények.

  • Delila_1

    veterán

    válasz iwu #8661 üzenetére

    Régen leveleztünk, biztos a régi címemmel próbálkoztál. Inkább beírom ide a kódot. A füzetet, amiben most 1 lapon vannak az adatok, Eredeti.xls-nek neveztem el, az újat, amit a makró hoz létre, UjFuzet.xls névvel illettem.
    Az útvonalat az első sorban írd át.

    Sub SokLap()
    Const utvonal As String = "F:\Eadat\"
    Dim lapsz As Integer, lap As Integer
    Dim lapnev As String

    lapsz = Range("A" & Rows.Count).End(xlUp).Row
    Application.SheetsInNewWorkbook = lapsz - 1

    Workbooks.Add
    ActiveWorkbook.SaveAs Filename:=utvonal & "UjFuzet.xls", _
    FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False


    Windows("Eredeti.xls").Activate
    For lap = 2 To lapsz
    lapnev = Cells(lap, 1)
    Workbooks("UjFuzet.xls").Sheets(lap - 1).Name = lapnev
    Rows(1).EntireRow.Copy Workbooks("UjFuzet.xls").Sheets(lapnev).Rows(1)
    Rows(lap).EntireRow.Copy Workbooks("UjFuzet.xls").Sheets(lapnev).Rows(2)
    Next

    Windows("UjFuzet.xls").Activate
    For lap = 1 To lapsz - 1
    Sheets(lap).Select
    Range("A1:I2").Copy
    Range("A3").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=True
    Rows("1:2").Select
    Selection.Delete Shift:=xlUp
    Range("A1").Select
    Next

    Application.SheetsInNewWorkbook = 3
    End Sub

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