Datenübernahme

22/08/2008 - 12:55 von Richard | Report spam
hallo,

ich möchte von einem excelsheet (Feiertage) A3:B30 die Namen der Feiertage
in ein weiteres (Kalender) A5:A107 übernehmen. Der Projektzeitraum wird
immer neu berechnet, und hat immer andere Anfangs und Endzeiten. Das klappt
auch wunderbar. Nun möchte den Kalender mit den Namen der Feiertage füllen
und diesen endsprechend für die Projektteams ausdrucken.
Ich habe mir folgenden Code erstellt

Sub Termine_eintragen()
Dim termf(30)
Dim feiert(30)
Dim iZeile As Integer
'On Error Resume Next
Sheets("Kalender").Range("A5:A107").Value = ""
For iZeile = 5 To 107
If Sheets("Kalender").Cells(iZeile, 1) =
Application.WorksheetFunction.VLookup(Sheets("Kalender").Cells(iZeile, 1),
Sheets("Feiertage").Range("A3:A30"), 1, False) Then
Sheets("Kalender").Cells(iZeile, 5) =
Application.WorksheetFunction.VLookup(Sheets("Kalender").Cells(iZeile, 1),
Sheets("Feiertage").Range("A3:B30"), 2, False)
End If
Next iZeile
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then Termine_eintragen
End Sub

beim testen làuft es aber nicht in die Schleife, sondern bleibt immer auf
Zeile eins

vielen Dank schon im vorraus

gruß
Richard
 

Lesen sie die antworten

#1 Peter Schleif
22/08/2008 - 13:32 | Warnen spam
Richard schrieb am 22.08.2008 12:55 Uhr:

Sheets("Kalender").Range("A5:A107").Value = ""



1. Hier löschst Du den Bereich in Spalte A aus dem VLookup das
Suchkriterium entnimmt. Das Suchkriterium ist also immer <LEER>.
Solltest Du nicht besser die Ziel-Spalte E bereinigen?!

Range("E5:E107").Value = ""


Dessen ungeachtet:

Die VBA-Version von SVERWEIS scheint den gleichen Bug zu haben wie
z.B. VERGLEICH. Wenn man es als WorksheetFunction.VLookup aufruft ohne
dass ein Wert gefunden wird, bricht VBA mit 1004 ab. Leider hilft auch
IsNA() nicht. AFAIK hilt hier nur "On Error Resume Next".

Peter

Ähnliche fragen