Thema Datum  Von Nutzer Rating
Antwort
Rot Bereiche über 2 Listboxen kopieren
17.11.2014 11:11:49 Paulo Borges
NotSolved
17.11.2014 20:11:50 Gast81683
NotSolved
18.11.2014 14:06:39 Gast49573
Solved
18.11.2014 15:58:29 Gast44445
Solved
19.11.2014 22:57:20 Gast24084
Solved

Ansicht des Beitrags:
Von:
Paulo Borges
Datum:
17.11.2014 11:11:49
Views:
2672
Rating: Antwort:
  Ja
Thema:
Bereiche über 2 Listboxen kopieren
Hallo Freunde,
 
Ich versuche verzweifelt über 2 listboxen verschiedene Bereiche zu kopieren.
In eine Tabelle „Export“ sind 2 Hauptbereiche - Bereich A (A1:AI556) und Bereich B (AK1:BS556)
Diese Bereiche A & B sind jeweils in 15 (Max) Unterbereiche aufgeteilt wie Folgt
 
Bereich A                                        Bereich B
(A1:AI1) – Titelzeile                       (AK1:BS1) – Titelzeile
(A2:AI38) – Bereich 1a                 (AK2: BS38) – Bereich 1b
(A39:AI75) – Bereich 2a               (AK39: BS75) – Bereich 2b
(A76:AI112) – Bereich 3a             (AK76: BS112) – Bereich 3b
.....                                                     .....
(A520:AI556) – Bereich 15a        (AK520: BS556) – Bereich 15b
 
Jeweils in der ersten Zeile jedes Bereiches stehen die Hauptangaben von denen zwei Zellen (Spalte D & E) sowie (Spalte AN & AO) in 2 listboxen einlesen lasse.
Also Listbox1 – Bereich A und Listbox2 Bereich B, das einzige was ich geschafft habe.
 
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
Private Sub UserForm_Initialize()
Dim lZeile, lZeile1 As Long
     
With ListboxA 'Bereich A
    .ColumnCount = 2
    .ColumnWidths = "30 ; 100"
    .RowSource = ""
    .Clear
    ThisWorkbook.Worksheets("Export").Activate
    For lZeile = 2 To 556 Step 37
        If Range("D" & lZeile).Value <> "" Then
            ListboxA.AddItem " "
            ListboxA.List(.ListCount - 1, 0) = Range("D" & lZeile).Value
            ListboxA.List(.ListCount - 1, 1) = Range("E" & lZeile).Value
        End If
    Next lZeile
End With
 
With ListboxB 'Bereich B
    .ColumnCount = 2
    .ColumnWidths = "30 ; 100"
    .RowSource = ""
    .Clear
    ThisWorkbook.Worksheets("Export").Activate
    For lZeile1 = 2 To 556 Step 37
        If Range("AN" & lZeile1).Value <> "" Then
            ListboxB.AddItem " "
            ListboxB.List(.ListCount - 1, 0) = Range("AN" & lZeile1).Value
            ListboxB.List(.ListCount - 1, 1) = Range("AO" & lZeile1).Value
        End If
    Next lZeile1
End With
 
End Sub
Nun will ich über diese beiden Listboxen Daten von Bereich B - zu Bereich A kopieren,
beziehungsweise bei Auswahl von ListboxB er mir den dazugehörigen Bereich (z.b. Bereich 2c) in ListboxA Auswahl (z.b. Bereich 7a) Kopiert.
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub CMD_ImportSel_Click()
Dim i As Long, bl As Boolean, j As Long
bl = False
    For i = 0 To Me.ListboxB.ListCount - 1
        If Me.ListboxB.Selected(i) = True Then
            For j = 0 To Me.ListboxA.ListCount - 1
                If Me.ListboxB.Column(0, i) = Me.ListboxA.Column(0, j) Then
                    bl = True
                    Exit For
                End If
            Next
            If bl = False Then
                Me.ListboxA.AddItem Me.ListboxB.Column(0, i)
            Else
                MsgBox "Field already added", vbInformation, "Note:"
            End If
        End If
    Next
End Sub
Beim Kopieren von ListboxB zu ListboxA schaffe ich nur, das er mir die erste spalte kopiert (fehlt die 2 spalte).
 
Wie kann ich dann, die Bezüge zwischen die Listboxen zu den Bereichen herstellen?
Ich habe über Select Case (index Listbox) gedacht kriege es aber nicht hin.
 
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
'Wie z.b. Auswahl Kopieren
Select Case (index ListboxB)
Case 0
Range(AK2: BS38).Copy
Case 1
Range(AK39: BS75).Copy
Case 2
Range(AK76: BS112).Copy
….
    …..
Case 14
Range(AK520: BS556).Copy
End Select
 
'Auswahl Einfügen
Select Case (index ListboxA)
Case 0
Range(A2:AI38). PasteSpecial Paste:=xlPasteValues
Case 1
Range(A39:AI75). PasteSpecial Paste:=xlPasteValues
Case 2
Range(A76:AI112). PasteSpecial Paste:=xlPasteValues
….
    …..
Case 14
Range(A520:AI556). PasteSpecial Paste:=xlPasteValues
End Select
Ich Hoffe mich einiger maßen verständlich gemacht zu haben und bedanke mich im Voraus für jede Hilfe.
 
Gruß Paulo

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Bereiche über 2 Listboxen kopieren
17.11.2014 11:11:49 Paulo Borges
NotSolved
17.11.2014 20:11:50 Gast81683
NotSolved
18.11.2014 14:06:39 Gast49573
Solved
18.11.2014 15:58:29 Gast44445
Solved
19.11.2014 22:57:20 Gast24084
Solved