Avatar billede dennisa Nybegynder
12. juli 2011 - 12:09 Der er 4 kommentarer og
1 løsning

http://www.eksperten.dk/spm/942804

fortsættelse :

2 af de kolonner der er i arket indeholder :

KOL DH    Feature Code String
KOL DI    Feature Code Quantity

DH indeholder koder afskilt af '_', eksempelvis BA_CH_CP_FRE
DI indeholder et antal tilhørende enheder adskilt af '_', eksempelvis 2_1_1_1

Der er et ekstra regneark kaldet 'Feature' hvor disse koder er oplistet

Eksempel

KOL A    KOL B    KOL C
feature    status    Description
AC    A    Air Conditioning
BA    A    Bathroom
CH    A    Central Heating Included

Opgaven er nu i forlængelse af http://www.eksperten.dk/spm/942804, at indholdet fra 'Feature' arkfanen ( KOL C ) tilføjes i forlængelse af de andre data i kolonne A, og de værdier der matcher hhv. 'Feature Code String' og 'Feature Code Quantity' allokeres korrekt i de nye arkfaner.

Forklarer gerne nærmere hvis det er uklart.
Avatar billede supertekst Ekspert
12. juli 2011 - 12:36 #1
..er stadig med..
Avatar billede supertekst Ekspert
12. juli 2011 - 12:57 #2
Et eksempel med de relevante kolonner (før) og efter transponering med de nu ønskede tilføjelser - ville være nyttigt.

Kan evt. sendes - @-adresse under min profil.
Avatar billede dennisa Nybegynder
12. juli 2011 - 13:19 #3
Du får et eksempel :-)
Avatar billede supertekst Ekspert
12. juli 2011 - 16:37 #4
Rem Version 3
Rem =========
Const basisArkNavn = "Sheet1"
Dim basisArk As Worksheet
Dim antalRæk As Long, antalKol As Long

Const FCSNavn = "Feature Code String"
Public Sub transponerOgFordel_2()
Dim id, fcs As String, fcq As String
    antalKol = ActiveCell.SpecialCells(xlLastCell).Column
    antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
    Set basisArk = ActiveWorkbook.Sheets(basisArkNavn)
   
    Application.ScreenUpdating = False
   
    For ræk = 2 To antalRæk
        basisArk.Select
        id = Range("A" & ræk)
        Union(Range("1:1"), Range(ræk & ":" & ræk)).Select
       
        Selection.Copy
        ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = id
        ActiveSheet.Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True

        Application.CutCopyMode = False
        ActiveSheet.Columns.AutoFit
       
        If ActiveSheet.Range("A" & 112) = FCSNavn Then
            fcs = ActiveSheet.Range("B" & 112)
            fcq = ActiveSheet.Range("B" & 113)
           
            If fcs <> "" Then
                indsætFCS antalKol + 1, fcs, fcq
            End If
        Else
            MsgBox FCSNavn & "-kolonne ikke identificeret"
            Stop
        End If
        fcs = ""
    Next ræk
   
    Application.ScreenUpdating = True
End Sub
Private Sub indsætFCS(ræk, fcs As String, fcq As String)
Dim fcsSplit As Variant, f As Long, deScript As String
Dim fcqSplit As Variant
    If Right(fcs, 1) <> "_" Then
        fcs = fcs + "_"
    End If
       
    If Right(fcq, 1) <> "_" Then
        fcq = fcq + "_"
    End If
   
    fcsSplit = Split(fcs, "_")
    fcqSplit = Split(fcq, "_")
   
    For f = 0 To UBound(fcsSplit)
        deScript = hentDescription(fcsSplit(f))
        ActiveSheet.Range("A" & ræk) = deScript
        ActiveSheet.Range("B" & ræk) = fcqSplit(f)
       
        ræk = ræk + 1
    Next f
End Sub
Private Function hentDescription(søgeOrd)
Dim dcsRæk As Long
    With ActiveWorkbook.Sheets("Feature").Range("A1:A65000")
        Set c = .Find(søgeOrd, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            dcsRæk = c.Row
            hentDescription = .Cells(dcsRæk, 3)
        Else
            hentDescription = "??-<" & søgeOrd & ">-??"
        End If
    End With
End Function
Avatar billede dennisa Nybegynder
13. juli 2011 - 08:33 #5
Endnu engang tak
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