Avatar billede elpedro Nybegynder
09. december 2002 - 12:43 Der er 7 kommentarer og
1 løsning

kopiering af rækker i et givent antal...

Jeg skal lave et ark med vejnavn, husnr og postnummer udfra et ark med vejnavn, husnr, postnummer og antal husstande pr husnr. Det jeg håber at kunne gøre er at få Excell til at tjekke det antal husstande pr husnr jeg har defineret og indsætte det antal rækker med vejnavn, husnr og postnummer. Om de bliver indsat i samme regneark eller et nyt er ligegyldigt. Listen skal bruges til at masse udsende breve i det rigtige antal kopier til hvert husnr i København (alle er opgange).

Opgaven kunne se sådan ud i pseudo kode:

a= vejnavn
b= husnr
c= postnummre
d= antal husstande

For (x=0, x<d, x++)
  indsæt a,b,c

Sådan ser regnearket ud:

  a        b  c    d
Istedgade  55  1522  6

Denne skal altså indsætte adressen (a,b,c) 6 gange.

Nogen der har nogen ideer? Skal det muligvis gøres fra en database istedet? Print formatet er underordnet, så længe man kan printe det tilsidst (hver adresse skal udprintes på label).
Avatar billede Slettet bruger
09. december 2002 - 13:08 #1
Skal den også indsætte opgang og etage ?
f.eks:  4.th
Avatar billede elpedro Nybegynder
09. december 2002 - 13:13 #2
Nej de færdige labelse kommer til at se således ud:

Til alle beboere
Istedgade 111
1515 København K
Dette label skal jo så udskrives i det antal husstande der er på Istedgade 111.
Første linje sætter jeg på senere, og by navnene skal tjekkes et andet sted.
Avatar billede Slettet bruger
09. december 2002 - 13:17 #3
Skal du flette fra Word ?
Avatar billede elpedro Nybegynder
09. december 2002 - 13:24 #4
Nope, jeg har allerede Excell filen. Jeg forestiller mig så at de nye rækker indsættes heri, eller kopieres til et andet excell-ark. Fletningen med Word kan måske blive nødvendig mht udprint af labels (har slet ikke kigget på dette endnu)
Avatar billede Slettet bruger
09. december 2002 - 13:34 #5
Ok, kigger lige på det...  :-)
Avatar billede Slettet bruger
09. december 2002 - 13:48 #6
Prøv med denne her:
-----------------------

Public Sub SkrivHusstande()

Dim i, j, k, maxRk, antal As Integer

maxRk = ActiveSheet.UsedRange.Rows.Count
k = 1

For i = 1 To maxRk
    antal = ActiveSheet.Cells(i, 4).Value
    j = 1
    Do While j <= antal
        Range(Cells(i, 1), Cells(i, 3)).Copy Sheets(2).Cells(k, 1)
        j = j + 1
        k = k + 1
    Loop
Next i

End Sub
----------------------------

Den forudsætter at dine startdata ligger på Ark 1.
Den skriver ud til Ark 2.
Avatar billede elpedro Nybegynder
09. december 2002 - 14:16 #7
Det virkede perfekt, mange tak for hjælpen. Jeg havde lavet en lignende kode i java, men kendte intet til Visual Basic. Nu kan jeg imponere bossen, hehe...
Avatar billede Slettet bruger
09. december 2002 - 14:20 #8
Tak for point :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester