Avatar billede --hcf--baz_zerg Nybegynder
29. juli 2004 - 19:58 Der er 11 kommentarer og
2 løsninger

Data formatering hvordan?

Har en lang liste over personer i Excel som står på følgende måde:

Navn_1
Add_1
TLF_1
By_1
Navn_2
Add_2
TLF_2
By_2

Der hører 8 felter til hver navn (og ikke kun fire som her vist). Opgaven er at få dem til at stå på følgende måde:

Navn_1  Add_1  TLF_1  By_1
Navn_2  Add_2  TLF_2  By_2
Navn_3  Add_3  TLF_3  By_3
osv.

Nogen der har et forslag til hvordan dette gøres???
Avatar billede mugs Novice
29. juli 2004 - 20:03 #1
Prøv at gå over i et nyt ark og sæt en celle således:

=Ark1!A1&" "&Ark1!A2 o.s.v
Avatar billede the_collector Novice
29. juli 2004 - 20:09 #2
En modificeret version af mugs. I det nye ark i celle a1 indsætter du ark1!a1 i b1 indsættes ark1!a2,... i d1 indsættes ark1!a4, i celle a2 indsættes ark1!a5,... i d2 indsættes ark1!a8. Marker nu de 8 celler a1..d2 og træk i nederste højre hjørne så langt ned at du har alle personer i det nye ark.
Avatar billede --hcf--baz_zerg Nybegynder
29. juli 2004 - 20:11 #3
Men under "Ark1!A1" skal der jo stå "Ark1!A5". Hvordan laver jeg ikke spring på 4? kan ikke få den til at akseptere +.
Avatar billede mugs Novice
29. juli 2004 - 20:11 #4
Ok collector - Jeg antog at værdierne skulle indsættes i samme celle derfor &" "&, men det skriver brugeren jo ikke noget om :o)
Avatar billede mugs Novice
29. juli 2004 - 20:13 #5
ikke + men  &.

med + adderer du numeriske værdier. Med & sammenstiller du tekststrenge.
Avatar billede the_collector Novice
29. juli 2004 - 20:15 #6
Mugs> Vi ved jo ikke om navn og adresse skal stå i samme celle eller ej. Men det er nok mest brugbart hvis de står i hver deres.
Avatar billede --hcf--baz_zerg Nybegynder
29. juli 2004 - 20:16 #7
Takker mange gange for de hurtige svar. Problemer er nu løst ;-)
Avatar billede mugs Novice
29. juli 2004 - 20:17 #8
collector -> Helt enig
tak for point.
Avatar billede --hcf--baz_zerg Nybegynder
29. juli 2004 - 20:18 #9
så lidt. takker for den ekstremt hurtige hjælp
Avatar billede the_collector Novice
29. juli 2004 - 20:27 #10
Tak for point
Avatar billede --hcf--baz_zerg Nybegynder
30. juli 2004 - 13:20 #11
Når jeg laver de nedenstående referencer som beskrevet i de to første svar:

A1  A2  A3  A4  A5  A6  A7  A8
A9  A10  A11  A12  A13  A14  A15  A16
A17  A18  A19  A20  A21  A22  A23  A24
A25  A26  A27  A28  A29  A30  A31  A32
A33  A34  A35  A36  A37  A38  A39  A40
A41  A42  A43  A44  A45  A46  A47  A48
A49  A50  A51  A52  A53  A54  A55  A56
A57  A58  A59  A60  A61  A62  A63  A64

og derefter prøver at markere dem og trække dem ned, fortsætter den ikke med:

A65  A66  A67  A68  A69  A70  A71  A72
A73  A74  A75  A76  A77  A78  A79  A80

som jeg ville mene den skulle, men med:

A9  A10  A11  A12  A13  A14  A15  A16
A17  A18  A19  A20  A21  A22  A23  A24

hvad kan være skyld i dette, og hvad kan jeg gøre for at få den til at gøre det rigtigt???
Avatar billede the_collector Novice
30. juli 2004 - 17:22 #12
Du har ret, jeg har lige prøvet det i min OpenOffice. Det ser ud til at den ligger 8 til i dit tilfælde fordi du har otte rækker. Det ser ud til at man så er nødt til at trække ned og så slette overflødige rækker. I sandhed ikke særlig smart.
Avatar billede bak Forsker
30. juli 2004 - 23:06 #13
du kan køre denne makro der fikser det automatisk.
Stil dig i 1. celle der indeholder data og kør makroen
Ret selv Brugerdata til inden du kører den.

Sub Transponer()
' Denne makro transponerer en kolonne med data
' til x nye kolonner
' Bemærk at makroen kører så længe der er data i data-kolonnen
Dim iRow As Integer
Dim iColumn As Integer
Dim iCounter As Integer
Dim IColumn2 As Integer
Dim iRecSize As Integer
Dim xArray As Range
Dim shOutput As Worksheet
Application.ScreenUpdating = False

iRow = ActiveCell.Row        'sætter start-rækken for data
iColumn = ActiveCell.Column    'sætter start-kolonnen for data
'************** Brugerdata **************

Set rgOutput = Sheets("Ark2")
iCounter = 1    'sætter indsættelses-række for tranponerede data
IColumn2 = 1    'Vælger indsættelseskolonne
iRecSize = 8    'vælger Recordstørrelse

'*****************************************
    Do Until IsEmpty(Cells(iRow, iColumn)) = True
        Set xArray = Range(Cells(iRow, iColumn), Cells(iRow + iRecSize - 1, iColumn))
       
        With rgOutput
            .Range(.Cells(iCounter, IColumn2), .Cells(iCounter, IColumn2 + iRecSize - 1)) _
                = WorksheetFunction.Transpose(xArray)
        End With
        'sætter inddata-variabel til næste kopiering (7 rækker længere ned)
        iRow = iRow + iRecSize
        'sætter slut-variabel til næste række
        iCounter = iCounter + 1
    Loop
End Sub


en lidt hurtigere version findes også her
http://www.xldennis.com/array(vba).htm
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