Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Fehlermeldung Runtime error 438
25.01.2005 10:44:53
Nadine
Hallo,
ich hab folgendes Problem. Wenn ich meine unten stehende If - Abfrage ausführ bekomme ich folgende Fehlermeldung
"Run-time error '438':
Object doesn´t support this property or method"
Vielleicht kann mir jemand helfen.
Gruß Nadine

Sub Funktion_Daten()
Dim WS2 As Worksheet, WS3 As Worksheet
Dim aktuellesFeld As Range
Dim z As Integer
Dim aktuellName As Range
Dim i As Integer
Dim k As Integer
Set WS2 = Workbooks("Duty_Urlaub_FY2005").Worksheets("KW1-KW9")
Set WS3 = Workbooks("IT-People").Worksheets("Sheet1")
For i = 1 To 51
For k = 1 To 87
If WS2.Cells(i, k) = "IT" Then
Selection.Goto What:=WS2.Cells(2, k)
Set WS2.Cells(2, k) = aktuellesFeld
Selection.Goto What:=WS2.Cells(i, 22)
Set WS2.Cells(i, 22) = aktuellName
For z = 2 To 10
If aktuellesFeld = WS3.Cells(z, 1) Then
aktuellName.Copy Destination:=WS3.Cells(2, 5)
End If
Next
End If
Next
Next
End Sub

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung Runtime error 438
RR
Hallo,
m.E. sind die Set-Anweisungen falsch, aber was soll eigentlich bei diesem Code eigentlich passieren?
Gruß
RR
AW: Fehlermeldung Runtime error 438
RR
Ich hab ein großes Excel-sheet in dem jedes Feld überprüft werden muss. Darauf, ob IT in einem Feld steht. Wenn ja, dann soll er den Namen der Person nehmen (Variable aktuellName) und ihn in ein neues Excel-sheet schreiben.
Um zu wissen in welche Zeile des neuen Sheets der Name muss, muss aus dem alten die Kalenderwoche ausgelesen werden und im neuen Sheet das Feld in dem der Name steht gefunden werden. Dann soll in dem neuen Sheet der Name in die Zeile (aktuellName.Copy Destination:=WS3.Cells(2, 5)
)
geschrieben werden, wo die Kalenderwoche gleich ist wie im 1. Sheet.
Anzeige
Verwendung von Namen
Namen
Hallo Nadine,
wenn du antwortest, verwende bitte DEINEN Namen.
Mit deiner Problembeschreibung komme ich noch nicht ganz klar. Meiner Meinung nach passt der ganze Code nicht zu dem, was du eigentlich machen willst.
Lade doch mal ein Beispiel mit 2 Tabellen (Quelle und Ziel) hoch, damit man einen Anhaltspunkt zum Ändern des Codes hat.
Gruß
RR
Anzeige
AW: Fehlermeldung Runtime error 438
Jan
Hi Nadine,
Was willst Du mit dem Code erreichen? Der Fehler tritt bei
Selection.Goto What:=WS2.Cells(2, k)
auf und zeigt an, das Dein "Goto" in der Form nicht funktioniert.
Willst Du etwas suchen lassen, nimm die FIND-Methode.
Goto-Methode

Markiert einen Bereich oder eine Visual Basic-Prozedur in einer beliebigen Arbeitsmappe und aktiviert diese, falls sie nicht bereits aktiv ist.
Syntax
Ausdruck.Goto(Reference, Scroll)
Jan

Anzeige
AW: Fehlermeldung Runtime error 438
Jan
Hallo Jan,
Danke für deine Antwort.
Ich habe goto verwendet, weil ich eine bestimmte Zelle auswählen muss und die 2. Koordinate ergibt sich aus dem Zähler k oder i. Und ich will diese Zelle, bzw. den Wert der Zelle in die Variablen aktuellesFeld und aktuellName speichern.
AW: Fehlermeldung Runtime error 438
Jan
Hi Nadine,
Dein Code ziemlich undurchsichtig. Ein Beispiel wäre schon hilfreich.
Auf jeden Fall solltest Du auf "Goto" ganz verzichten und die Zuordnung von Werten für Variablen nochmal nachlesen.
Folgender Code sollte eher zum Ziel führen:

Sub Funktion_Daten()
Dim WS2 As Worksheet, WS3 As Worksheet
Dim aktuellesFeld As Range
Dim z As Integer
Dim aktuellName As Range
Dim i As Integer
Dim k As Integer
Set WS2 = Workbooks("Duty_Urlaub_FY2005").Worksheets("KW1-KW9")
Set WS3 = Workbooks("IT-People").Worksheets("Tabelle1")
For i = 1 To 51
For k = 1 To 87
If WS2.Cells(i, k) = "IT" Then
aktuellesFeld = WS2.Cells(2, k)
aktuellName = WS2.Cells(i, 22)
For z = 2 To 10
If aktuellesFeld = WS3.Cells(z, 1) Then
aktuellName.Copy Destination:=WS3.Cells(2, 5)
End If
Next
End If
Next
Next
End Sub

Teste das mal durch oder stell ein konkretes Beispiel ins Forum.
Jan
Anzeige
AW: Fehlermeldung Runtime error 438
Nadine
Hallo Jan,
Danke für den kleinen Denkanstoß mit Set.
Ich weiß, dass es sehr undurchsichtig ist.
Aber es funktioniert jetzt.
Gruß Nadine

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige