Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Wert aus ausgewählter Zelle übernehmen
01.06.2022 08:22:32
Ramadani
Hallo zusammen
Ich komme bei einem Problem nicht weiter und wäre um eure Hilfe dankbar.
Ich habe eine Liste mit mehreren Daten und aus dieser Liste brauche ich Werte aus bestimmten Zellen in einer Zeile. In den Spalten A, B und C befinden sich Auftragsnummern, jedoch sind nicht immer alle 3 Zellen befüllt, sondern immer nur eine davon oder 2.
Der Code den ich habe tut zu 95% das was er soll und zwar: Bei einem Doppelklick in eine Zelle, übernimmt er mir aus der entsprechenden Reihe die Werte die sich in den definierten Spalten befinden und kopiert diese in die entsprechende Userform. Komischerweise übernimmt er mir aber immer nur den Wert aus Spalte C, ganz egal ob ich in die Zelle der Spalte A, B oder C doppelklicke. Ich brauche aber immer den Wert aus der Zelle in die ich Doppelklicke. Sprich, wenn ich in Spalte B doppelklicke dann müsste der Wert aus der entsprechenden Reihe in Spalte B in die Userform kopiert werden.
Der Code den ich derzeit benutze sieht so aus:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Zeile As Long
Zeile = Target.Row
UserForm2.TextBox1 = Worksheets("Arbeitsliste").Cells(Zeile, 1).Value
UserForm2.TextBox1 = Worksheets("Arbeitsliste").Cells(Zeile, 2).Value
UserForm2.TextBox1 = Worksheets("Arbeitsliste").Cells(Zeile, 3).Value
UserForm2.TextBox2 = Worksheets("Arbeitsliste").Cells(Zeile, 23).Value
UserForm2.TextBox3 = Worksheets("Arbeitsliste").Cells(Zeile, 21).Value
UserForm2.TextBox4 = Worksheets("Arbeitsliste").Cells(Zeile, 12).Value
UserForm2.TextBox5 = Worksheets("Arbeitsliste").Cells(Zeile, 22).Value
UserForm2.TextBox6 = Worksheets("Arbeitsliste").Cells(Zeile, 13).Value
UserForm2.TextBox7 = Worksheets("Arbeitsliste").Cells(Zeile, 10).Value
UserForm2.TextBox8 = Worksheets("Arbeitsliste").Cells(Zeile, 8).Value
UserForm2.TextBox9 = Worksheets("Arbeitsliste").Cells(Zeile, 27).Value
UserForm2.TextBox10 = Worksheets("Arbeitsliste").Cells(Zeile, 24).Value
UserForm2.TextBox11 = Worksheets("Arbeitsliste").Cells(Zeile, 14).Value
End Sub
Ich habe noch einen anderen Code der mir zwar die Werte aus der Zelle in Spalte A, B oder C kopiert, wenn ich in die Zelle doppelklicke, aber auch die Werte ab Spalte I.
Ich bräuchte aber nicht die Werte ab Spalte I, sondern aus bestimmten Spalten.
Dieser Code sieht so aus:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Long
If Not Intersect(Target, Range("A2:C" & Cells(Rows.Count, 1).End(xlUp).Row)) Is Nothing Then
With UserForm2
.TextBox1 = ActiveCell
For i = 2 To 8
.Controls("TextBox" & i) = Cells(ActiveCell.Row, 7 + i)
Next i
End With
Cancel = True
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
varZelle = ActiveCell
End Sub
Kann mir Bitte jemand einen Tipp geben, wie ich den ersten oder zweiten Code anpassen müsste, dass er mir den Werte aus Spalte A, B oder C in die Userform kopiert (die restlichen Werte in den Spalten werden richtig übernommen nur A,B oder C nicht). Ich hab das Gefühl, dass in den ersten 3 Zeilen des Codes die "Or" - Funktion benötigt wird, aber mir fehlt der zündende Funke bzw. ich überseh was.
Gruss
Hixi

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert aus ausgewählter Zelle übernehmen
01.06.2022 08:30:43
Heli
Hi,
beim ersten Code schreibst Du 3x ins gleiche Zielfeld daher bleibt natürlich nur der letzte Eintrag (aus Spalte C) stehen - entweder musst Du die zusammensetzen oder in extra Felder schreiben.
Dein Code:

UserForm2.TextBox1 = Worksheets("Arbeitsliste").Cells(Zeile, 1).Value
UserForm2.TextBox1 = Worksheets("Arbeitsliste").Cells(Zeile, 2).Value
UserForm2.TextBox1 = Worksheets("Arbeitsliste").Cells(Zeile, 3).Value
Zusammensetzen:

UserForm2.TextBox1 = Worksheets("Arbeitsliste").Cells(Zeile, 1).Value
UserForm2.TextBox1 = UserForm2.TextBox1 & ";" & Worksheets("Arbeitsliste").Cells(Zeile, 2).Value
UserForm2.TextBox1 = UserForm2.TextBox1 & ";" & Worksheets("Arbeitsliste").Cells(Zeile, 3).Value
Viele Grüße, Heli
Anzeige
AW: Wert aus ausgewählter Zelle übernehmen
01.06.2022 09:05:26
Ramadani
Hi Heli
Vielen Dank für die rasche Antwort.
Das 3x in das gleiche Zielfeld geschrieben wird, habe ich mir schon gedacht. Bei deinem Vorschlag übernimmt es mir alle 3 Werte aus den 3 Spalten. Brauchen tu ich aber immer nur einen davon und zwar, den den ich doppelklicke. Geht das irgendwie?
Gruss
Hixi
AW: Wert aus ausgewählter Zelle übernehmen
01.06.2022 09:14:18
hary
Moin

Worksheets("Arbeitsliste").Cells(Zeile, Target.Column).Value
Evtl. musst du pruefen ob der Doppelklick in den SpaltenA bis C ausgefuehrt wird.
gruss hary
AW: Wert aus ausgewählter Zelle übernehmen
01.06.2022 13:20:55
Ramadani
Hi Hary
Funktioniert bestens. Ich danke dir sehr für deine Hilfe.
Beste Grüsse
Hixi
Anzeige
AW: Wert aus ausgewählter Zelle übernehmen
01.06.2022 10:02:30
GerdL
Hallo Hixi!

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Zeile As Long
If Target.Column 
Gruß Gerd
AW: Wert aus ausgewählter Zelle übernehmen
01.06.2022 10:43:51
Daniel
Hi
TARGET ist die Zelle die du angeklickt hast.
ich würde TARGET generell verwenden, dann funktioniert der Code unabhängig vom Tabellenblatt.
mit .OFFSET kannst du dann auf andere Zellen in Abhängigkeit von Target referenzieren.

UserForm2.TextBox1 = Target.Value
UserForm2.TextBox2 = Target.Offset(0, 23 - Target.Column).value
UserForm2.TextBox3 = Target.Offset(0, 21 - Target.Column).value
usw.
in den letzten beiden Zeilen siehst du, wie du mit .Offset trotzdem auf eine fixe Spalte referenzieren kannst, unabhängig davon in welcher Spalte du den Doppelklick ausgeführt hast (Zeile relativ, Spalte absolut)
gruß Daniel
Anzeige

351 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige