13.10.2017, 20:14
(Dieser Beitrag wurde zuletzt bearbeitet: 13.10.2017, 20:19 von michel34497.)
Hallo!
Ich brauche dringende Hilfe, bei einem Code der zusammengebastelt wurde. Ich habe eine UserForm in der werden Daten in zwei ListBoxen eingelesen.
In ListBox1 stehen die Daten aus der Tabelle TEST und in ListBox2 die Daten aus der Tabelle Data.
Was ich alles machen kann und auch hinbekommen habe ist:
Daten in der Listbox1 Löschen (Diese werden auch in der Tabelle Test gelöscht)
Werte Aus ListBox2 in ListBox1 einfügen
Mit einen SpinButton2 die Werte in der ListBox1 hin und her verschieben.
Das alles geht.
Was ich jetzt brauche und schon teilweise realisiert habe ist:
Wenn Werte aus der listBox2 in die ListBox1 eingetragensind, soll der Code Vergleichen ob es diese Werte in der Tabelle TEST schon vorhanden sind.
Sind sie nicht vorhanden soll eine neue Leerzeile eingefügt werden. Geht Auch
Jetzt soll der Code die Werte die nicht in der ListBox1 und der Tabelle TEST stehen, aus der Tabelle Data einlesen.
Und dort habe ich im moment das Problem.
Ich weiß in welcher Zeile und und Spalte der Wert steht
Ich muß erst die Tabelle Data Aktivieren das der bereich Kopiert wird.
Möchte aber NICHT das TabellenBlatt aktivieren.
Wie Kann man das Lösen?
Hier der ganze Code
Es geht Darum
Wie muß ich das änder?
Was ich sonst und überhaubt nicht gerne mache aber diesmal brauche eine schnelle Hilfe
Ganz schnelle Hilfe ODER zumidestens Tip's
Was ich noch vergessen Habe der Code ist im CommandButton4
Tausend Dank an alle die mir helfen
Bei Fragen oder sonstigen einfach schreiben!
Ich brauche dringende Hilfe, bei einem Code der zusammengebastelt wurde. Ich habe eine UserForm in der werden Daten in zwei ListBoxen eingelesen.
In ListBox1 stehen die Daten aus der Tabelle TEST und in ListBox2 die Daten aus der Tabelle Data.
Was ich alles machen kann und auch hinbekommen habe ist:
Daten in der Listbox1 Löschen (Diese werden auch in der Tabelle Test gelöscht)
Werte Aus ListBox2 in ListBox1 einfügen
Mit einen SpinButton2 die Werte in der ListBox1 hin und her verschieben.
Das alles geht.
Was ich jetzt brauche und schon teilweise realisiert habe ist:
Wenn Werte aus der listBox2 in die ListBox1 eingetragensind, soll der Code Vergleichen ob es diese Werte in der Tabelle TEST schon vorhanden sind.
Sind sie nicht vorhanden soll eine neue Leerzeile eingefügt werden. Geht Auch
Jetzt soll der Code die Werte die nicht in der ListBox1 und der Tabelle TEST stehen, aus der Tabelle Data einlesen.
Und dort habe ich im moment das Problem.
Ich weiß in welcher Zeile und und Spalte der Wert steht
Ich muß erst die Tabelle Data Aktivieren das der bereich Kopiert wird.
Möchte aber NICHT das TabellenBlatt aktivieren.
Wie Kann man das Lösen?
Hier der ganze Code
Code:
Private Sub CommandButton4_Click()
ReDim werte1(ListBox1.ListCount)
ReDim werte2(ListBox2.ListCount)
Dim Zeile As Long
With ListBox1
For i = 0 To .ListCount - 1
.Selected(i) = True
Next
varKategorie = Range(.Tag).Cells(1).Offset(, -1).Value
For intListBox = 0 To ListBox1.ListCount - 1
If .Selected(intListBox) Then
werte1(intListBox) = ListBox1.List(intListBox)
MB = Range(.Tag).Rows(intListBox + 1).Cells(1).Value 'Range(.Tag).Rows(I + 1).Value
'ListBox und Tabelle Vergleichen
If MB = werte1(intListBox) Then
'MsgBox "Werte stimmen überein!"
Else
MsgBox "Werte sind nicht gleich!"
ro = Range(.Tag).Row
co = Range(.Tag).Column
'Zeile und Spalte B-1 bis B+8 Einfügen und nach unten verschieben
Range(Cells(ro + intListBox, co - 1), Cells(ro + intListBox, co + 8)).Insert Shift:=xlDown
loDeinWert = werte1(intListBox) 'gesuchter Wert
Set rng = Worksheets("Data").Range("I:I").Find(loDeinWert)
If rng Is Nothing Then
MsgBox "Wert " & loDeinWert & " nicht gefunden!"
Else
rt = rng.Row
ct = rng.Column
Worksheets("Data").Activate
Range(Cells(rt, ct), Cells(rt, ct + 8)).Copy
MsgBox "Der Begriff """ & loDeinWert & """ wurde in Zeile " & _
rt & " und Spalte " & ct & " gefunden.", _
64, " Information für " & Application.UserName
End With
Worksheets("TEST").Activate
'rng.EntireRow.Copy
Worksheets("TEST").Cells(Rows.Count, "B").End(xlUp) _
.Offset(1, 0).PasteSpecial Paste:=xlPasteAll
End If
End If
End If
'Next i
Next intListBox
End With
For intListBox = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(intListBox) Then
intAusgabe = ListBox1.List(intListBox) 'intAusgabe zeigt mir den wert aus der Listbox an
End If
Next
End Sub
Code:
rt = rng.Row
ct = rng.Column
Worksheets("Data").Activate
Range(Cells(rt, ct), Cells(rt, ct + 8)).Copy
Was ich sonst und überhaubt nicht gerne mache aber diesmal brauche eine schnelle Hilfe
Ganz schnelle Hilfe ODER zumidestens Tip's
Was ich noch vergessen Habe der Code ist im CommandButton4
Tausend Dank an alle die mir helfen
Bei Fragen oder sonstigen einfach schreiben!
mfg
Michael
:98:
WIN 10 Office 2019
Michael
:98:
WIN 10 Office 2019