Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1612to1616
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Formel, die Werte in anderem Tabellenblatt sucht
06.03.2018 08:31:32
Alba
Hallo zusammen
ich habe ein Problem.
Ich brauche eine Formel die folgendes macht:
Im Tabellenblatt „Werkstoffaufstellung“ ab Spalte I6 die eingegebenen Werte im Tabellenblatt „Bleche“ suchen.
Und die gefundenen Werte im Tabellenblatt „Werkstoffaufstellung“ wie folgend ergänzen:
„Blech“ Spalte E = Spalte H „Werkstoffaufstellung“
„Blech“ Spalte D = Spalte G „Werkstoffaufstellung“
„Blech“ Spalte C = Spalte F „Werkstoffaufstellung“
„Blech“ Spalte B = Spalte E „Werkstoffaufstellung“
„Blech“ Spalte A = Spalte D „Werkstoffaufstellung“
Wenn kein passender Wert gefunden wird sollte die UserForm2 Automatisch aufgehen wo man die fehlenden Werte ergänzen kann.
Im Anhang eine Beispieldatei.
https://www.herber.de/bbs/user/120223.zip
Danke im Voraus für jede Hilfe!!!!

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel, die Werte in anderem Tabellenblatt sucht
06.03.2018 09:39:22
Schießer
Hallo
Ich habe mir den bereits existierenden Code NICHT angesehen...


Dieser muss in den Codebereich von Blatt Werkstoffaufstellung
Er wird ausgeführt, wenn in Spalte I ab Zeile 6 eine Änderung erfolgt
Option Explicit 
Private Sub Worksheet_Change(ByVal Target As Range) 
    On Error GoTo Fehler 
    If Not Intersect(Range("I:I"), Target) Is Nothing Then 
        If Target.Row < 6 Then Exit Sub 
        If Target.Count > 1 Then 
            MsgBox "Bitte einzeln bearbeiten" 
            With Application 
                .EnableEvents = False 
                .Undo 
                .EnableEvents = True 
            End With 
            Exit Sub 
        End If 
         
        Dim TbB As Worksheet 
        Dim Zeile As Double, FFind As Integer, SP As Integer 
         
        Set TbB = Sheets("Bleche") 
        FFind = 6 ' Finde in Spalte F 
         
        'prüfen ob vorhanden 
        If WorksheetFunction.CountIf(TbB.Columns(FFind), Target.Value) > 0 Then 
            Zeile = WorksheetFunction.Match(Target.Value, TbB.Columns(FFind), 0) 
            For SP = 1 To 5 
                If TbB.Cells(Zeile, SP) = "" Then 
                    UserForm2.TextBox89 = Target.Value 
                    UserForm2.Show 
                Else 
                    Application.EnableEvents = False 
                    Target.Offset(0, -6 + SP) = TbB.Cells(Zeile, SP) 
                    Application.EnableEvents = True 
                End If 
            Next 
        Else 
            Application.EnableEvents = False 
            Target.Offset(0, -5).Resize(1, 5).ClearContents 
            Application.EnableEvents = True 
            UserForm2.TextBox89 = Target.Value 
            UserForm2.Show 
        End If 
         
    End If 
    '*** Fehlerbehandlung 
    Err.Clear 
Fehler: 
    Application.EnableEvents = True 
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear 
End Sub 

LG UweD
Anzeige
AW: Formel, die Werte in anderem Tabellenblatt sucht
06.03.2018 12:19:44
Alba
Hallo Uwe
Dankeschön dein Code funktioniert soweit super!!!!
Nur müsste ich immer wieder mehrere Zeilen einfügen (Leider immer Unterschiedlich viele) und das kann ich nicht mehr da kommt immer eine MsgBox "Bitte einzeln bearbeiten" kann man das noch ändern?
Gruß
Alba82
AW: Formel, die Werte in anderem Tabellenblatt sucht
06.03.2018 14:42:44
UweD
Hallo nochmal
dann so?
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Fehler
    If Not Intersect(Range("I:I"), Target) Is Nothing Then
        If Target.Row < 6 Then Exit Sub
         
        Dim TbB As Worksheet
        Dim Zeile As Double, FFind As Integer, SP As Integer, Z
         
        Set TbB = Sheets("Bleche")
        FFind = 6 ' Finde in Spalte F 
         
        For Each Z In Target
            'prüfen ob vorhanden 
            If WorksheetFunction.CountIf(TbB.Columns(FFind), Z.Value) > 0 Then
                Zeile = WorksheetFunction.Match(Z.Value, TbB.Columns(FFind), 0)
                For SP = 1 To 5
                    If TbB.Cells(Zeile, SP) = "" Then
                        UserForm2.TextBox89 = Z.Value
                        UserForm2.Show
                    Else
                        Application.EnableEvents = False
                        Z.Offset(0, -6 + SP) = TbB.Cells(Zeile, SP)
                        Application.EnableEvents = True
                    End If
                Next
            Else
                Application.EnableEvents = False
                Z.Offset(0, -5).Resize(1, 5).ClearContents
                Application.EnableEvents = True
                UserForm2.TextBox89 = Z.Value
                UserForm2.Show
            End If
        Next
         
    End If
    '*** Fehlerbehandlung 
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub

LG UweD
Anzeige
AW: Formel, die Werte in anderem Tabellenblatt sucht
07.03.2018 09:19:09
Alba
Hallo UweD,
jetzt kommt leider immer beim Einfügen "Fehler: 1004 Anwendungs- oder objektdefinierter Fehler :-(
Gruß
Alba
AW: Formel, die Werte in anderem Tabellenblatt sucht
07.03.2018 09:19:12
Alba
Hallo UweD,
jetzt kommt leider immer beim Einfügen "Fehler: 1004 Anwendungs- oder objektdefinierter Fehler :-(
Gruß
Alba
AW: Formel, die Werte in anderem Tabellenblatt sucht
07.03.2018 09:35:22
UweD
Wie werden denn die Werte dort eingetragen?
Über die Tabelleneingabe selbst? Dann funktioniert das so;
oder über die Userform? Den Code lese ich mir nicht komplett durch? Da bin ich dann raus.
LG UweD
AW: Formel, die Werte in anderem Tabellenblatt sucht
07.03.2018 10:57:20
Alba
Die Werte werden über die UserForm und direkt über das Tabellenblatt.
Der Fehler kommt aber wenn ich direkt im Tabellenblatt Zeilen einfüge nicht wenn ich Daten eingebe.
Kann es daran liegen das ich verbundene Zeilen unten drunter habe?
Gruß
Alba
Anzeige
AW: Formel, die Werte in anderem Tabellenblatt sucht
07.03.2018 11:03:31
UweD
gib mir nochmal eine aktuelle Datei, wo das aktuelle Makro drin ist.
Ja. kann an verbundenen Zellen liegen (die man immer vermeiden sollte)
AW: Formel, die Werte in anderem Tabellenblatt sucht
07.03.2018 11:36:50
Alba
Hier nochmal die Datei.
https://www.herber.de/bbs/user/120255.zip
Leider lässt sich die Verbundene Zeile nicht vermeiden.
Ich Kopiere immer die Zeile 6 und füge sie unten drunter wieder ein (mit Rahmen) manchmal habe ich 1 Pos. mal über 100 deswegen immer das Kopieren.
LG
Alba
AW: Formel, die Werte in anderem Tabellenblatt sucht
07.03.2018 11:50:59
UweD
Hi
hilft das?
Es wird geprüft, ob eine ganze Zeile markiert ist..
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Fehler
    If Target.Address = Target.EntireRow.Address Then Exit Sub ' wenn ganze Zeile markiert ist
    If Not Intersect(Range("I:I"), Target) Is Nothing Then
        If Target.Row < 6 Then Exit Sub
         ...
LG UweD
Anzeige
AW: Formel, die Werte in anderem Tabellenblatt sucht
07.03.2018 12:35:32
Alba
Hi UweD
Super aller besten Dank Klappt perfekt!
Lg
Alba
Prima! Danke für die Rückmeldung. owT
07.03.2018 12:39:09
UweD

323 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige