Hej varför hämtar den inte ca: 1/3 av cellerna från filen EABnyaPriser.xls Du har inte möjlighet att t.ex. sortera bägge dokumenten på artikelnummer, om det är det som du söker på? På så sätt skulle du ju slippa söka genom <b>hela</b> det andra dokumentet för varje rad i det första dokumentet, vilket säkerligen är åtminstone en starkt bidragande orsak till att det "går segt". Att matcha tusentals excel-poster med For-loopar är ingen höjdare. Självklart blir det segt och konsumerar massor med CPU. Du har fel verktyg för jobbet. Detta är ett jobb för en SQL-databas. Har du Office kanske du bara kan flytta "lösningen" till Access. Då gör du en sån matchning tabell<->tabell på "nolltid" förutsatt att du använder Index etc någorunda vettigt. Nej jag skulle vilja matsha med originalfilen utan sortering för att bibehålla artnummerordningen. Hej, en kompis testade med c och sql men det blev också fel, han fick bättre resultat efter att ha sparat filen som textfil istället för excelworkbook. Hade du låtit bli att korsposta mellan forumen och istället hade kollat i den andra tråden (den som dessutom låg rätt, till skillnad från den här), så hade du sett att det finns flera uppenbara sätt att göra det här snabbare. Hej Nicklas Jansson, jag är ny på forumet, och såg det först efteråt att det fanns ett VB forum Nu fungerar det mycket bättre tack för tipsen och hjälpen, det var Cells som hjälpte den att ta något mindre CPU kraft, fortfarande hänger Excel fönstret under körning men det finns kraft kvar för att hålla programmet igång hela tiden, fort går det inte men dock automatiskt, man hinner med både frukost och middag innan det är klart.VBA sänker CPU 100% vet inte om det här är rätt forum?
Loop rad skall stega upp 1 rad i excels primärdokument,
Loop rad2 skall söka igenom hela EABnyaPriser.xls för att få träff på artikelnumret som den läst i primärdokumentet,
Vid träff på numret skall priset hämtas från EABnyapriser.xls till pris cellen i primärdokumentet.
När jag lagt in en räknare så verkar det som att den får träff på artikelnumret men priset hämtas aldrig över till primärdokumentet.
Dokumenten innehåller drygt 8000 excelrader vardera.
Vad är det för fel ?
Här är programsnutten, jag har remarkat de nedre raderna som inte behövs.
Dessutom går programmet så segt att Excel till och från lägger av och startar upp igen, den slukar på direkte 100 procent cpu-kraft
PS! när jag klipper ur 25 rader i vardera worksheeten och kör dessa 25, verkar det fungera klickrent, även när jag kör med F8 manuellt verkar det fungera, jag fattar ingenting.
Private Sub kopiera1_Click()
Dim rad As Integer
Dim rad2 As Integer
For rad = 1 To Range("BB10000").End(xlUp).Row
A2 = 0
For rad2 = 1 To 8271
If Range("BB" & rad) = Workbooks("EABnyaPriser.xls").Worksheets(1).Range("A" & rad2) Then
Range("AY" & rad) = Workbooks("EABnyaPriser.xls").Worksheets(1).Range("F" & rad2)
Range("BG" & rad) = Workbooks("EABnyaPriser.xls").Worksheets(1).Range("G" & rad2)
A2 = A2 + 1
ElseIf A2 < 1 And rad2 = 8271 Then
Rem Range("AY" & rad) = "saknas"
Rem Range("AY" & rad + 10020) = Workbooks("EABnyaPriser.xls").Worksheets(1).Range("F" & rad)
Rem Range("BB" & rad + 10020) = Workbooks("EABnyaPriser.xls").Worksheets(1).Range("A" & rad)
Rem Range("C" & rad + 10020) = Workbooks("EABnyaPriser.xls").Worksheets(1).Range("B" & rad)
Rem Range("E" & rad + 10020) = Workbooks("EABnyaPriser.xls").Worksheets(1).Range("G" & rad)
End If
Next rad2
Next rad
End Sub
Sv: VBA sänker CPU 100% vet inte om det här är rätt forum?
Sv: VBA sänker CPU 100% vet inte om det här är rätt forum?
Sv:VBA sänker CPU 100% vet inte om det här är rätt forum?
Sv:VBA sänker CPU 100% vet inte om det här är rätt forum?
Sv: VBA sänker CPU 100% vet inte om det här är rätt forum?
Och där ser du också att du mycket väl kan behålla sorteringen efteråt.Sv:VBA sänker CPU 100% vet inte om det här är rätt forum?
Sv: VBA sänker CPU 100% vet inte om det här är rätt forum? Delvis avhjälpt
Tid, knappt 2 sekunder per bearbetad rad. och dessbättre verkar den plocka informationen riktigt nu.
Jag pekade in forsnurran på rad1 i en kolumn och den inre loppen snurrar på ganska friskt. Dock visade det sig att även visningen av loopvärdet tar ohygglig tid, mätt i datasammanhang.
Det bästa är nog som ni föreslog att bygga programmet med en extern programvara och sql.
Tack för tipsen
Bosse