Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
360to364
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
360to364
360to364
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

fehler im code

fehler im code
08.01.2004 00:22:57
Lin
Hallo Leute,
habe ein Problem mit einem verweis den ich mir in vba mühevoll zusammengekleistert hab. kleine erklärung
im tabellenblat "Fs Eintrag" stehen in der Spalte U16 bis U381 die Suchbegriffe
im tabellenblatt "Berechnung" ist die Suchmatrix von A3:N200 wobei in spalte a der suchbegriff wieder vorkommt. wird der begriff gefunden soll aus spalte D der wert in Spalte V im tabellenblatt "Fs Eintrag" übernommen werden. er schreibt mir aber immer den suchbegriff in die zielspalte.
hier der code, ich hoffe es kann mir jemand helfen


Sub Verweis()
Dim Quelle As Worksheet
Dim Matrix As Range
Dim c, Suchwert$, Zielwert$, Fundzelle
Dim l&, q%, z%, y%
Set Quelle = Worksheets("Fs Eintrag")
Set Matrix = Worksheets("Berechnung").Range("A3:N200")
q = 21
z = 22
y = 4
Application.ScreenUpdating = False
For l = 16 To 381
Suchwert = Quelle.Cells(l, q)
Quelle.Cells(l, z).ClearContents
With Matrix
Set c = .Find(Suchwert, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Quelle.Cells(l, z) = y.Value
Else
Quelle.Cells(l, z) = "-"
End If
End With
Next l
Application.ScreenUpdating = True
End Sub

Danke Lin

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: fehler im code
08.01.2004 03:11:13
PeterW
Hallo Lin,
den Code würde ich so ändern:

Sub Verweis()
Dim Quelle As Worksheet
Dim Matrix As Range
Dim c, Suchwert$, Zielwert$, Fundzelle
Dim l&, q%, z%, y%
Set Quelle = Worksheets("Fs Eintrag")
Set Matrix = Worksheets("Berechnung").Range("A3:N200")
q = 21
z = 22
y = 4
Application.ScreenUpdating = False
With Matrix
For l = 16 To 381
Suchwert = Quelle.Cells(l, q)
Quelle.Cells(l, z).ClearContents
Set c = .Find(Suchwert, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Quelle.Cells(l, z) = .Cells(c.Row, 4)
Else
Quelle.Cells(l, z) = "-"
End If
Next l
End With
Application.ScreenUpdating = True
End Sub

Die Frage ist, ob dein Problem nicht mit Vlookup einfacher zu lösen ist?
Gruß
Peter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige