29. november 2006 - 20:52Der er
13 kommentarer og 1 løsning
Hjælp til VBA søges
Hej er der nogen der kan hjælpe eller fortælle hvor jeg kan få hjælp til nedenstående problemstilling...?
Har 1 workbook med 2 worksheets, en sheet med Bøger(indeholder ID i en kolonne og en anden kolonne med antal hjemme) og en sheet med modtaget bøger(med tilsvarende ID nummer).. Alle Modtagne bøger er blevet listet efterhånden som de bliver modtaget, og de samme id-numre kan optræde flere gange(da der er flere ens bøger)
Det jeg nu ønsker er at hver modtagne bog bliver registreret under kolonnen med antal hjemme i sheetet med bøger...
Således at hvis jeg modtager i alt 3 bøger med Id nummer 01 (hvilket ses på sheetet med modtaget) skal dette vises i sheete med bøger hvor antal hjemme skal stige med 3 under antal hjemme..
Skal bruge nogle løkker og tælle-variable, men kan ikke lige gennemskue hvordan jegskal gribe denne lille opgave an...
Hej.. tak for hjælpen..! Opgaven volder mig dog stadigvæk problemer, desværre..
Ved ikke om koden er helt rigtigt eller om det er bare er mig der ikke rigtigt forstår den..!
Så vil lige skrive mine områder...
Ark1: BogId befinder sig i Range (A2:A39) (Hvor Id numrene listet 1 for 1 dernedaf) Bøger hjemme: her søges det at når bøger bliver modtaget, vil kolonnen hjemme,stige med 1 ud fra den respektive BogId (samme bøger kan komme flere gange!) Modtag har range (D2:D39), er pt. tom men ønsket er at de nu skal opdateres med stk. antal der er kommet hjem ud fra Ark 2.
Ark 2: BogId i ark 2 har Range(B2:B322), hver enkelt bog listes op og hver linie afspejler en modtagelse, hvilket vil sige at samme BogId kan komme flere gange..
Er måske lidt gentaget.. men syntes nu heller ikke det er den simpleste opgave. Skal laves i VBA, da det på længere sigt skal kunne udvides med Ventelister, og skal kunne modtage reservationer etc.
Dette er ikke regisreret endnu, bliver det første senere.. lige nu er mit eneste mål at lave en funktion der kan få kolonnen "modtaget" til at stige med en for hver modtaget bog.. og dermed skal det kun registreres det ene sted...!
Public Sub TælBøger() Dim I As Long, X As Long, Antal As Long Antal = 0 ' antal nulstilles For I = 2 To Sheets("Ark1").Range("A65536").End(xlUp).Row ' Finder sidste række i Ark1 A kolonnen For X = 2 To Sheets("Ark2").Range("B65536").End(xlUp).Row ' Finder sidste række i Ark2 B kolonnen If Sheets("Ark2").Cells(X, "B") = Sheets("Ark1").Cells(I, "A") Then ' Sammenligner Antal = Antal + 1 ' tæller End If Next Sheets("Ark1").Cells(I, "D") = Antal ' skriver antal i Ark1 D kolonnen Antal = 0 ' antal nulstilles ' næste bog Next End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.