Hirdetés

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

  • Homer
    tag

    sziasztok,
    én is most teszem kezdőlépéseimet vba-ban. és nem szeret engem. se.

    egy óriási adathalmaz adott feltétel alapján kiválasztott sorát szeretném egy másik munkalap, változóban (n) tárolt számú sorába másolni. kreáltam is egy kódot.

    Do
    Sheets("tools in SAP 3100").Activate 'forrás munkalap

    If Cells(i, 14) = "#Hiányzik" Then
    Rows(i).Select ' átmásolandó sor
    Selection.Copy
    Sheets("missing cost centers").Select 'cél munkalap
    Rows(n).Select 'ezen a ponton kiakad, Application-defined or object defined error üzenettel Hibakód:1004
    ActiveSheet.rows(n).Paste
    n = n + 1

    End If
    i = i + 1

    Loop Until Cells(i, 1) = ""

    sajnos a hibakód helpjét elolvasva sem kaptam a leghalványabb utalást sem hogy mi a nyűgje. két sorral feljebb pedig ugyanez az utasítás működik.

    van valakinek ötlete, hogy miért nem vagyunk barátok?

    előre is kösz,
    derűs, dolgos munkanapot

    Szia!
    Ha tudod a sorok számát akkor:

    Sub Akarmi()
    Worksheets(1).Select
    Dim ujsor As Integer
    ujsor = 1
    For Index = 1 To 10
    Rows(CStr(Index) & ":" & CStr(Index)).Select
    If Cells(Index, 2).Text <> "#HIÁNYZIK" Then
    Selection.Copy
    Worksheets(2).Select
    Rows(CStr(ujsor) & ":" & CStr(ujsor)).Select
    ActiveSheet.Paste
    Worksheets(1).Select
    ujsor = ujsor + 1
    End If
    Next Index
    End Sub

    Egyébként én cellánként másolgatnám az értékeket anélkül, hogy mindig kijelölgetném a második worksheetet valahogy így:

    Ha a vizsgált cella értéke megfelelő akkor
    Worksheets(2).Cells(XY).text=worksheets(1).cells(ZY).text
    (Sokkal gyorsabb lesz afutása a makrónak, és nem vibrál a kép futás közben ;) )

    Jah, bocs, elfelejtettem írni, hogy az a baj, hogy a sor kijelölésének formája:
    Rows("1:1").select
    Ebből gondolom látod mi a gond: String paramétert várna a rows sub
    Remélem segítettem :)

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