Ich möchte gerne Werte aus einer Spalte mit einer Variablen vergleichen, wenn der Wert in der Spalte mit der Variablen übereinstimmen soll die Zeile überschrieben werden. Wenn keine übereinstimmung vorhanden ist soll die erste freie Zeile ausgewählt werden.
Spalte befindet sich in einer anderen Arbeitsmappe wie das Makro. Hab schon mal ein wenig probiert. Aber er geht nicht in meine if-Anweisung.
Dim WBName As String, strHelp As String
Dim zelle As Range
Dim r As Range
Dim i As Integer, l As Integer
WBName = Range("B5")
If WBName = "" Then
MsgBox "Sie haben keinen Dateinamen angeben!", , "Fehlermeldung"
Exit Sub
End If
ActiveSheet.Copy
Application.CutCopyMode = False
If Range("A1") = "Hilfsvariable zum Speichern" Then
ActiveSheet.Shapes.Range(Array("fiktives Baujahr", "Berechnen", _
"Berechnung anzeigen", "Speichern", "Löschen", _
"Verfahren auswählen", "Beenden")).Select
Selection.Delete
Else
ActiveSheet.Shapes.Range(Array("Berechnen", _
"Berechnung anzeigen", "Speichern", "Löschen", _
"Verfahren auswählen", "Beenden")).Select
Selection.Delete
End If
Range("B6").Select
' Speichern unter
ActiveWorkbook.SaveAs WBName
strHelp = ActiveWorkbook.Name
Windows("Bewertungsübersicht.xls").Activate
Set r = Sheets(1).Columns("B:B")
For Each zelle In r
l = Range("A65536").End(xlUp).Offset(1, 0)
For i = 1 To l
If Range("B" & i) = WBName Then
Range("A" & i).FormulaR1C1 = _
"='[Bewertung Anlagevermögen.xls]Herstellungskosten'!R1C2"
Else if Range("B" & i) = "" Then
Range("A" & i).FormulaR1C1 = _
"='[Bewertung Anlagevermögen.xls]Herstellungskosten'!R1C2"
End If
Next
Next zelle
' Arbeitsblätter schließen
' ActiveWorkbook.Close
Workbooks(strHelp).Close
' Bildschirmaktualisierung wieder einschalten
Application.ScreenUpdating = True
Danke für eure Hilfe schon mal im voraus
Jessica