Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1704to1708
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
Inhaltsverzeichnis

Finde den Fehler nicht

Finde den Fehler nicht
13.08.2019 17:01:00
Falko
Hallo zusammen,
das folgende Marko funktioniert nicht, der Fehler scheint in folgender Zeile zu sein:
wsInput.Cells(37 + SaleYear.Row, 20).PasteSpecial Paste:=xlPasteValues
Habt ihr eine Idee, was falsch ist?
Tausend Dank und beste Grüße
Falko

Sub Sensi()
Range("E15:g35").ClearContents
Dim ws As Worksheet
Set ws = Worksheets("Sensitivity")
Dim wsInput As Worksheet
Set wsInput = Worksheets("Inputs")
Dim wsSummary As Worksheet
Set wsSummary = Worksheets("Summary")
Dim ii As Integer
For ii = 0 To 20
Dim SaleYear As Range
Set SaleYear = wsInput.Range("S38:S66").Find(ws.Cells(12, 4), lookat:=xlWhole)
ws.Cells(14 + i, 4).Copy
wsInput.Cells(37 + SaleYear.Row, 20).PasteSpecial Paste:=xlPasteValues
ws.Cells(15 + ii, 5).Value = wsSummary.Cells(17, 14).Value
ws.Cells(15 + ii, 6).Value = wsSummary.Cells(48, 8).Value
ws.Cells(15 + ii, 7).Value = wsSummary.Cells(46, 8).Value
Next ii
' Base Case
ws.Cells(25, 4).Copy
wsInput.Cells(SaleYear.Row, 20).PasteSpecial Paste:=xlPasteValues
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Finde den Fehler nicht
13.08.2019 17:09:48
Regina
Moin,
ohne datei schwer zusagen. Ich tippe darauf, das diese Zeile nichts "findet" und SaleYear nicht gefüllt ist:
Set SaleYear = wsInput.Range("S38:S66").Find(ws.Cells(12, 4), lookat:=xlWhole)
Was steht nach dieser Zeile in SaleYear?
Gruß
Regina
AW: Finde den Fehler nicht
13.08.2019 17:12:00
Hajo_Zi
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
der Wert aus ws.Cells(12, 4) wurde nicht gefunden.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: Finde den Fehler nicht
13.08.2019 17:13:24
onur
"funktioniert nicht, der Fehler scheint" ist Wischi Waschi.
Kommt eine Fehlermeldung?
Wenn ja, welche?
Was genau funktioniert nicht und woran erkennst du es?
AW: Finde den Fehler nicht
13.08.2019 17:37:20
Falko
Laufzeitfehler 91
Objektvariable oder With-Blockvariable nicht festgelegt
Dim SaleYear As Range
Set SaleYear = wsInput.Range("S38:S66").Find(ws.Cells(12, 6), lookat:=xlWhole)
ws.Cells(15 + i, 4).Copy
wsInput.Cells(SaleYear.Row, 20).PasteSpecial Paste:=xlPasteValues
ws.Cells(12, 6) ist die Zahl 2031.
In der Range("S38:S66") steht ebenfalls die Zahl 2031. Daher verstehe ich nicht, warum das Makro nicht funktioniert.
Tausend Dank!
Anzeige
AW: Finde den Fehler nicht
13.08.2019 17:42:35
onur
Poste mal die Datei.
AW: Finde den Fehler nicht
13.08.2019 17:43:44
Daniel
Hi
da müsste man mal prüfen, was genau in den Zellen steht, dh die formatierten UND unformatierten Zellwerte (dh der angezeigte Wert im vorhandenen Zahlenformat und im Zahlenformat Standard).
am besten du lädst die Datei mal hoch (wenn sensible Daten drinstehen, du kannt eigentlich alles löschen, außer F12 im Blatt ws und S38:S66 im Blatt wsInput.
Gruß Daniel
AW: Finde den Fehler nicht
13.08.2019 18:36:55
Daniel
HI
läuft bei mir ohne Fehler durch.
noch ein paar kleine Tips:
1. arbeite mit Option Explicit. Das schützt vor Schreibfehlern bei Variablen
2. Dimensioierungen gehören eigentlich an den Anfang. dann hast du eine Übersicht, welche Variablen du schon alles angelegt hast.
3. alles was sich innerhalb der Schleife nicht ändert (dh nicht vom Schleifenzähler ii abhängt), sollte auch nicht in der Schleife durchgführt werden, sondern davor oder danach. Wenn sich das Ergebnis nicht ändert, reicht einmalige Ausführung, alles andere wäre unnötige Wiederholung.
Gruß Daniel
Anzeige
AW: Finde den Fehler nicht
13.08.2019 18:39:12
onur
Warum lässt du 21 mal nach dem gleichen Wert suchen und schreibst du alles untereinander?
ws.Cells(15 + ii, 5).Value = wsSummary.Cells(17, 14).Value

wsSummary.Cells(17, 14) ist doch leer.
Der Code läuft, wie Daniel auch schon schrieb, ohne Fehler durch.
Womit startest du das Makro überhaupt?
AW: Finde den Fehler nicht
13.08.2019 19:06:57
Falko
Hallo die Herren,
ich starte das Makro mit einem Formularsteuerelement.
Vielen Dank schon einmal. Ich schaue mir nochmal den Formatierungen der Daten an.
Habt einen schönen (Feier-)Abend und beste Grüße
Falko

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige