Hallo Gast 81683
Danke Vielmals für dein Beitrag, hat mir wirklich sehr geholfen die Augen zu öffnen.
Im ersten Teil um die 2 spalte einzufügen sah ich vor lauter Bäume den Wald nicht mehr, danke.
With Me.ListBoxA
.AddItem " "
.List(.ListCount - 1, 0) = Me.ListBoxB.Column(0, i)
.List(.ListCount - 1, 1) = Me.ListBoxB.Column(1, i)
End With
Im 2 Teil um die Bezüge zwischen listboxen und den Bereichen herzustellen hast du mir den entscheidenen tip gegeben.
Habe es versucht mit .CurrentRegion.Find - hat aber immer nur mit den ersten eintrag funktioniert die Restlichen hat er nicht gefunden, nehme an weil leerzeilen dazwischen liegen. Fiel mir aber ein warum suchen wenn ich weiss in welche zeilen die werte liegen, und es umgebaut wie folgt.
Private Sub CMD_ImportSel_Click()
Dim i As Long, bl As Boolean, j As Long
Dim sc As Range, st As Range
bl = False
For i = 0 To Me.ListboxB.ListCount - 1
If Me.ListboxB.Selected(i) = True Then
Set sc = Range(Range("AK" & (ListboxB.ListIndex + 1) * 37 - 37 + 2).Offset(0, 0), Range("AK" & (ListboxB.ListIndex + 1) * 37 - 37 + 2).Offset(36, 34))
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
Set st = Range(Range("A" & (ListboxA.ListIndex + 1) * 37 - 37 + 2).Offset(0, 0), Range("A" & (ListboxA.ListIndex + 1) * 37 - 37 + 2).Offset(36, 34))
If bl = False Then
With Me.ListboxA
.List(ListboxA.ListIndex, 0) = Me.ListboxB.Column(0, i)
.List(ListboxA.ListIndex, 1) = Me.ListboxB.Column(1, i)
End With
sc.Copy
st.PasteSpecial Paste:=xlPasteValues
Else
MsgBox "Field already added", vbInformation, "Note:"
End If
End If
Next
End Sub
Die idee mit benannten Bereichen zu arbeiten ist auch nicht schlecht, vileicht auch leichter zu programmieren, kenn mich aber nicht so gut aus.
Wenn du mir ein Tip geben könntest wie es ausehen könnte, wäre ich dir sehr Dankbar.
Trotzdem vielen Dank für die Hilfe
|