Makro mit .Find und wenn
meixner
habe ein Problem mit unterem Makro. Über eine Inputbox gebe ich eine ISIN Aktie ein in Datenblatt 1.
Anhand dieser ISIN sucht das Makro alle ISINs aus Datenblatt 2 in Spalte D raus und trägt sie wieder in Datenblatt 1 ein.
Mein Problem:
Ich gebe in die Inputbox die ISIN ein, dann sucht das Makro diese ISIN in Datenblatt 2 und trägt diese in Datenblatt 1 nur wenn in Spalte A eine 1 steht. Wie kann ich so eine Wenn - Fkt. einbauen in diesem Makro?
Anbei unten ein Teil des Makros.
Vielen Dank für Tips.
Dani
Sub Dividendenreinvestment()
Dim strRIC As String, rngSuch As Range 'Variablen deklarieren
Dim rngF As Range, lngZ As Long, lngErst As Long
' ----------------------------------------------------------------------- neu Anfang
Dim specialdividend As Double
Dim AS_Geschäft As Range
' ----------------------------------------------------------------------- neu Ende
Dim rngRange As Range
Dim ZeileStart As Long
' RIC wird gesucht in AlleBestände_alleFonds in Spalte C;
' Eingabe von RIC für das erste Bezugsrecht in A35, C8
ISIN = InputBox("Bitte ISIN Aktie eingeben:", "Dateneingabe:")
If ISIN = vbNullString Then Exit Sub
specialdividend = Application.InputBox("Bitte Betrag der special Dividend " & _
"oder Capital Return eingeben:", "Dateneingabe:", , , , , , 1)
If specialdividend = False Then Exit Sub
'Jedesmal wenn der in der Inputbox eingegebene ISIN in Datenblatt 'AlleBeständealleFonds' Spalte D gefunden wird, wird der RIC in Datenblatt 'Kapmaßnahme' Spalte C eingetragen
With Workbooks("Template_alle_Kapitalmaßnahmen.xls")
Set rngSuch = .Worksheets(2).Columns(4)
Set rngF = rngSuch.Find(What:=ISIN, LookAt:=xlPart)
If Not rngF Is Nothing Then
lngErst = rngF.Row
With .Worksheets(1)
lngZ = .Cells(.Rows.Count, 4).End(xlUp).Row 'letzte in Sp.D belegte Zeile
ZeileStart = lngZ + 1
Do
'Sheets(5).Range("B5").Value = strRIC
lngZ = lngZ + 1 ' nächste (leere) Zeile
.Cells(lngZ, 1) = rngF.Offset(0, -3) ' a
.Cells(lngZ, 2) = rngF.Offset(0, -2) ' b
.Cells(lngZ, 3) = rngF.Offset(0, -1) ' C
.Cells(lngZ, 4) = ISIN ' d
' d
.Cells(lngZ, 5) = rngF.Offset(0, 1) ' e
.Cells(lngZ, 6) = rngF.Offset(0, 2) ' f
.Cells(lngZ, 17) = rngF.Offset(0, 6) ' Q
.Cells(lngZ, 12) = rngF.Offset(0, 4) ' L
.Cells(lngZ, 20) = rngF.Offset(0, 12).FormulaR1C1 ' T
.Cells(lngZ, 18) = rngF.Offset(0, 11).FormulaR1C1 ' R
' .Cells(lngZ, 29) = rngF.Offset(0, 17)