Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


VBA sänker CPU 100% vet inte om det här är rätt forum?

Postades av 2007-10-09 22:08:57 - Bo Bjurman, i forum api-windows, Tråden har 8 Kommentarer och lästs av 2494 personer

Hej varför hämtar den inte ca: 1/3 av cellerna från filen EABnyaPriser.xls
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


Svara

Sv: VBA sänker CPU 100% vet inte om det här är rätt forum?

Postades av 2007-10-10 08:28:42 - Tomas Granlund

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".


Svara

Sv:VBA sänker CPU 100% vet inte om det här är rätt forum?

Postades av 2007-10-10 10:39:21 - Niklas Jansson

Och DUBBELPOSTA INTE!!!


Svara

Sv: VBA sänker CPU 100% vet inte om det här är rätt forum?

Postades av 2007-10-10 13:51:09 - Ola Lindfeldt

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.


Svara

Sv:VBA sänker CPU 100% vet inte om det här är rätt forum?

Postades av 2007-10-11 17:12:36 - Bo Bjurman

Nej jag skulle vilja matsha med originalfilen utan sortering för att bibehålla artnummerordningen.


Svara

Sv:VBA sänker CPU 100% vet inte om det här är rätt forum?

Postades av 2007-10-11 17:15:08 - Bo Bjurman

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.


Svara

Sv: VBA sänker CPU 100% vet inte om det här är rätt forum?

Postades av 2007-10-11 19:34:34 - Niklas Jansson

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.

Och där ser du också att du mycket väl kan behålla sorteringen efteråt.


Svara

Sv:VBA sänker CPU 100% vet inte om det här är rätt forum?

Postades av 2007-10-11 22:01:35 - Bo Bjurman

Hej Nicklas Jansson, jag är ny på forumet, och såg det först efteråt att det fanns ett VB forum


Svara

Sv: VBA sänker CPU 100% vet inte om det här är rätt forum? Delvis avhjälpt

Postades av 2007-10-14 08:38:12 - Bo Bjurman

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.
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


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 762
27 959
271 761
446
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies