Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Falsche Ausgabe
#1
Hey Leute!

Ich weiß nicht mehr weiter.
Wahrscheinlich nur ein Denkfehler bei dem ihr mir helfen könnt.

Zur Aufgabenstellung:

Das Makro soll alle Werte in Spalte B der  Arbeitsmappe tFile mit der Zeile 3 der Arbeitsmappe sFile per Wverweis vergleichen und alle Werte die NICHT in dieser Zeile enthalten sind in der Arbeitsmappe tFile in Spalte C daneben ausgeben .

-> tFile und sFile wurde ein Pfad/ die Arbeitsmappe zugewiesen

1.) Problem hierbei ist, dass es anscheinend nicht mal zu nem abgleich kommt, da er mir egal ob in der Vergleichszeile etwas steht oder nicht das gleiche in Spalte C ausgibt was in B steht.
2.) Problem ist das sobald eine Zelle in Spalte B leer ist (was vorkommen kann) er mir das Makro abbricht statt einfach zur nächsten Zelle (zum nächsten Vergleichswert) zu springen.
3.) Problem die Fehlermeldung Typen unverträglichkeit bei der ausgabe :
Code:
If rückgabe = feld.Value Then ausgabe = "" Else: ausgabe = feld


Hier der ganze Code:

Code:
Sub wverweis()

' wverweis Makro

Dim lngC As Long
Dim rückgabe As Variant
Dim auswahl As Range, feld As Range, ausgabe As Range
Dim i As Long
Dim sFile As String, sPath As String, tFile As String, tPath As String
 
        sFile = "XXXXXXX.xlsm"
        sPath = "YYYYYYY" & "\" & sFile
        
        tFile = "AAAAAAAAA.xlsm"
        tPath = "BBBBBBB" & "\" & tFile
 
    If WkbExists(sFile) = False Then
      
Workbooks.Open sPath
Sheets("Quoten GJ 2016").Select
      
    Else
    
Workbooks(sFile).Activate
Sheets("Quoten GJ 2016").Select
        
    End If
 
 
Workbooks(tFile).Activate
Worksheets("AWF50").Select
 
 
    For lngC = 5 To 54

Workbooks(tFile).Activate
Worksheets("AWF50").Select

            Set feld = Range("B" & lngC)
            Set ausgabe = Range("C" & lngC)

Workbooks(sFile).Activate
Worksheets("Quote Okt.16").Select

            Set auswahl = Rows(3).Find(what:="tofind", LookIn:=xlValues, lookat:=xlWhole)
 
                If Not auswahl Is Nothing Then
 
                    Range(Cells(3, 6), auswahl.Offset(0, -1)).Select
                    rückgabe = Application.WorksheetFunction.HLookup(feld, Selection, 1, True)
                    'rückgabe = Application.WorksheetFunction.HLookup(feld, Selection, 1, True)
        
                
Workbooks(tFile).Activate
Worksheets("AWF50").Select
            
                If rückgabe = feld.Value Then ausgabe = "" Else: ausgabe = feld
          
                    'ausgabe.Select
            
                         
        
                End If
        
    
Next lngC

End Sub

sFile:
[
Bild bitte so als Datei hochladen: Klick mich!
]

tFile:
[
Bild bitte so als Datei hochladen: Klick mich!
]

Danke!

Lg Kash
Antworten Top
#2
Und wo ist die ganze Datei ?

Fang an die Code zu reinigen: verzichte auf 'Select' und 'Activate'
Antworten Top
#3
Hallo,

1.
arbeitet korrekt, du holst ja den Zeilenindex 1 und dort stehen die Suchbegriffe.
2.
Excel mag es nicht, wenn Du in Deinem WVERWEIS nach nichts suchst.
Eventuell solltest Du den Abschnitt überspringen, wenn nix in B drin steht. Machst Du ja auch, wenn es tofind nicht gibt ...
3.
Ich vermute mal, dass zu der zweiten ausgabe ein set fehlt... Sollte das nicht reichen, kannst Di bei der ersten noch ein .Value dazu tun.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste