[Excel/Word] Serie gegroepeerd groeperen samenvoegen

Pagina: 1
Acties:
  • 100 views sinds 30-01-2008
  • Reageer

  • r0bert
  • Registratie: September 2001
  • Laatst online: 06-07 13:54
Situatie is als volgt, ik heb 3 werkbladen in Excel die ik join met elkaar.

Dus van
code:
1
2
3
4
5
6
7
8
9
10
Tabel 1:
  1   Henk     Hier
  2   Jaap      Daar

Tabel 2:
  1     1    Bier
  1     2    Nasi
  1     3    Chips
  2     4    Giros
  2     5    Dipsaus

Krijg ik
code:
1
2
3
4
5
  1   Henk     Hier        1     1    Bier
  1   Henk     Hier        1     2    Nasi
  1   Henk     Hier        1     3    Chips
  2   Jaap      Daar       2     4    Giros
  2   Jaap      Daar       2     5    Dipsaus


Mooi zat, maar nu wil ik dit samenvoegen in Word. Dus ik selecteer vrolijk de query/werkmap en alles wordt ingevoegd.

Het probleem is nu dat ik de gegevens van henk uit tabel 1 maar 1x wil (bijv adresgegevens), maar daaronder wel alle items uit tabel 2 (bijv geconsumeerde producten)! Ik heb al uren zitten klooien maar krijg het niet voor elkaar. Hoe ga ik dit doen?

Dus nu heb ik zeg maar
code:
1
2
3
4
5
6
7
8
9
10
11
  1   Henk     Hier        
1     1    Bier

  1   Henk     Hier        
1     2    Nasi

  1   Henk     Hier        
1     3    Chips

  2   Jaap      Daar       
2     4    Giros


Maar ik wil

code:
1
2
3
4
5
6
7
  1   Henk     Hier        
1     1    Bier 
1     2    Nasi       
1     3    Chips

  2   Jaap      Daar       
2     4    Giros

  • r0bert
  • Registratie: September 2001
  • Laatst online: 06-07 13:54
Door gebrek aan response ben ik maar overgestapt op het allemaal handmatig in VBA te verwerken, maar ook daar loop ik tegen problemen aan. Ik wil de rijen van boven naar beneden helemaal doorlopen, maar dat blijkt niet te kunnen. Ik krijg een zgn "Automatiseringsfout", uit de help wordt ik helemaal niets duidelijker. Wat doe ik fout? Het gaat vooral om de laatste functie:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Private Sub cmdCollectanten_Click()
    inpFileCollectanten.Value = getSelectFile()
    lstCollectanten.Clear
    getReadWorksheets lstCollectanten, inpFileCollectanten.Value
End Sub

Private Sub cmdRoutes_Click()
    inpFileRoutes.Value = getSelectFile()
    lstRoutes.Clear
    getReadWorksheets lstRoutes, inpFileRoutes.Value
End Sub

Private Sub cmdInleveren_Click()
    inpFileInleveren.Value = getSelectFile()
    lstInleveren.Clear
    getReadWorksheets lstInleveren, inpFileInleveren.Value
End Sub
Public Function getSelectFile() As String
    getSelectFile = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls), *.xls", Title:="Please select a file")
End Function

Public Function getReadWorksheets(ByRef oLstColl As ComboBox, sInputFile As String)
    Workbooks.Open sInputFile
    
    For Each oWorkbook In Workbooks
        If oWorkbook.Name = ThisWorkbook.Name Then
        Else
            For Each oWorksheet In oWorkbook.Worksheets
                oLstColl.AddItem oWorksheet.Name
            Next oWorksheet
            
            oWorkbook.Close
        End If
    Next oWorkbook
End Function

Private Sub cmdSamenvoeging_Click()

    Dim oWbCollectanten As Worksheet
    Dim oWbRoutes As Worksheet
    Dim oWbInleveren As Worksheet
    
    Set oWbCollectanten = Workbooks.Open(inpFileCollectanten.Value).Worksheets(lstCollectanten.Value)
    Set oWbRoutes = Workbooks.Open(inpFileRoutes.Value).Worksheets(lstRoutes.Value)
    Set oWbInleveren = Workbooks.Open(inpFileInleveren.Value).Worksheets(lstInleveren.Value)
    
'########## DIT GEEFT EEN FOUT ##########
    MsgBox oWbCollectanten.Cells(2, 2).Value
    
    'iRow = 2
    'Do
    '    Set oRow = oWbCollectanten.Cells(iRow, 2)
    '    MsgBox oRow.Value
    '    iRow = iRow + 1
    'Loop Until IsEmpty(oRow)
End Sub

Maakt ook verder niet uit wat ik gebruik, Rows, Range, Select etc. Alles geeft een foutmelding. Enige wat ik lijk te kunnen is Rows.Count... fantastisch. Iemand een oplossing of dit probleem eerder gehad?

[ Voor 4% gewijzigd door een moderator op 01-02-2007 17:53 ]


  • r0bert
  • Registratie: September 2001
  • Laatst online: 06-07 13:54
Kan het zijn dat het openen van meerdere (Work)Sheets in eenzelfde Workbook problemen opleverd? Als ik namelijk 1 sheet open ga het prima, open ik er meer dan 1 dan loopt het fout...

[Edit]
Nouja, dan mijn eigen antwoord maar.
Meerdere worksheets in eenzelfde workbook werkt dus niet, helaas. Het workbook moet 1x geopend worden en dan moeten alle worksheets uit dat object geopend worden, dan werkt het wel.

[ Voor 38% gewijzigd door r0bert op 08-02-2007 14:21 ]