Tema: Re: REQ. Ekselistų pagalbos
Autorius: Raimis
Data: 2010-06-02 13:41:38

trupus pakeitimu ... veiksmas vyksta nepalyginamai greiciau , gal net 
nereiks ilgai rukyti ;)
pakeisk procedura sia:

Sub ApdirbtiFailus(SourceFolderName As String, EilNuo As Integer, EilIki As 
Integer)


Dim FSO As Scripting.FileSystemObject
Dim SourceFolder As Scripting.Folder, SubFolder As Scripting.Folder
Dim FileItem As Scripting.File

Dim i As Integer


Dim oWB As Workbook

    Set FSO = New Scripting.FileSystemObject
    Set SourceFolder = FSO.GetFolder(SourceFolderName)
       Application.Calculation = xlCalculationManual
       Application.ScreenUpdating = False

    For Each FileItem In SourceFolder.Files
        If FileItem.Type = "Microsoft Excel Worksheet" Then


        Set oWB = Workbooks.Open(FileItem.Path)
        oWB.Sheets(1).Range("I:I").NumberFormat = "General"

        For i = EilNuo To EilIki
            oWB.Sheets(1).Range("I" & i).Formula = "=LEFT((MID((E" & i & 
"&F" & i & "&G" & i & "),2,4)*MID((E" & i & "&F" & i & "&G" & i & 
"),6,4)),4)"
        Next i

        oWB.Save
        oWB.Close


        End If
    Next FileItem
       Application.Calculation = xlCalculationAutomatic
       Application.ScreenUpdating = True

    Set FileItem = Nothing
    Set SourceFolder = Nothing
    Set FSO = Nothing

    Set oWB = Nothing

MsgBox "Baigta"
End Sub




"rotada" <sigitas@rotada.lt> wrote in message 
news:hu5bis$m74$1@trimpas.omnitel.net...
> ...neiškenčiau, po 2 val nutraukiau ir palikau tik 22 eilutes, tai per 
> porą parūkymų praėjo sėkmingai ir teisingai. Dabar kiekvienam failiukui 
> eilučių skaičių pakoreguoti reikės...
>
> Labai didelis Ačiū.
> Kuom ir kur atsiskaityti :) Gal Kaune?
>
> "Raimis" <somebody@nomail.com> wrote in message 
> news:hu54pd$ao6$1@trimpas.omnitel.net...
>> :D  na del greitaveikos netestavau ir neoptimizavau .... gali uztrukti ;)
>>
>>
>> "rotada" <sigitas@rotada.lt> wrote in message
>> news:hu52b7$6f4$1@trimpas.omnitel.net...
>>> Mažytę (47failai) direktoriją tvarkingai patvarkė per kelias minutes.
>>> Dabar paleidau didžiąją (apie 800failų ir po 500 eilučių - viso apie
>>> 400000eilučių) tai jau "sukasi" 50 minučių. Laukiu kol parašys 
>>> "Baigta"...
>>> Gal nevarys kelias dienas...:)
>>>
>>>
>>> "Raimis" <somebody@nomail.com> wrote in message
>>> news:hu4tb7$tgt$1@trimpas.omnitel.net...
>>>> tiesa, pavyzdyje apdorojama failu Sheet1, jei reikia ne ta, reiktu
>>>> pakoreguoti macro
>>>>
>>>> Ir geriau pasibandyti su failu kopijom ar testinias failais, o ne su
>>>> tikrais
>>>> duomenim ;)
>>>>
>>>>
>>>> "Raimis" <somebody@nomail.com> wrote in message
>>>> news:hu4t3j$t53$1@trimpas.omnitel.net...
>>>>> pamegink sita failiuka, jei kas ne taip, rasyk
>>>>>
>>>>> Sekmes
>>>>>
>>>>>
>>>>>
>>>>> "rotada" <sigitas@rotada.lt> wrote in message
>>>>> news:hu2hap$4dr$1@trimpas.omnitel.net...
>>>>>> Man per dideliė problema - nemoku rašyti makrusų...:)
>>>>>> 1.Direktorijoje D:\Embozing\Avansiniai klijentai - 46  xls failai
>>>>>> (Eksel
>>>>>> 2003 SP3)
>>>>>> 2.Direktorijoje D:\Embozing                            - 781 xls 
>>>>>> failai
>>>>>>
>>>>>> Reikia visuosų xls failų stulpeliuose "I" padaryti formatą "General", 
>>>>>> o
>>>>>> po to į visų xls failų I3 celę įrašyti formulę:
>>>>>> =LEFT((MID((E3&F3&G3);2;4)*MID((E3&F3&G3);6;4));4)
>>>>>>
>>>>>> Gal kaspagelbėtumėte?
>>>>>>
>>>>>> Sigitas
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>
>>