AW: Funktion WENN kaskadieren bei TXT-Zellinhalten
02.01.2018 21:13:04
Werner
Hallo Juergen,
da gäbe es noch weiteren Klärungsbedarf.
1. im Code den du bereits hast, wird die Formel in Spalte A ab Zelle A2. Die übrigen Formeln willst du jetzt am Zeile 3 haben. Ich hab das jetzt mal geändert, so dass auch die Formel in Spalte A ab Zeile 3 geschrieben wird.
2. im Code den du bereits hast, wird die letzte belegte Zeile anhand der Spalten E und I ermittelt, je nachdem welche weiter befüllt ist. Jetzt willst du aber in Spalte I eine Formel rein schreiben. Dort sind also zunächst mal wohl gar keine Daten vorhanden, so dass dort auch nicht die letzte belegte Zeile ermittelt werden kann. Du hast diverse Formeln, die sich auf die Spalte C beziehen. Ich ermittle die letzte belegte Zeile einfach in Spalte C. Ich hoffe das passt so, ansonsten müsstest du mir nochmal mitteilen, in welcher Spalte die letzte belegte Zeile ermittelt werden soll/kann.
Im Code werden jeweils die Formeln in die Spalten geschrieben und dann durch den jeweiligen Formelwert ersetzt.
Public Sub bbb()
Dim loLetzte As Long
With Worksheets("Tabelle1") 'Blattname anpassen
loLetzte = .Cells(.Rows.Count, 3).End(xlUp).Row
.Range(.Cells(3, 1), .Cells(loLetzte, 1)).FormulaLocal = _
"=WENN(ISTZAHL(FINDEN("".aup"";E3)); "" ""; WENN(ISTZAHL(FINDEN("".mp3"";I3));"" -"";""""))"
'Formeln durch Werte ersetzen, wenn nicht gewünscht/benötigt dann löschen
.Range(.Cells(3, 1), .Cells(loLetzte, 1)).Value = _
.Range(.Cells(3, 1), .Cells(loLetzte, 1)).Value
'Formeln Spalte B
.Range(.Cells(3, 2), .Cells(loLetzte, 2)).FormulaLocal = _
"=WENN(ANZAHL(C3:D3)=2;--LINKS(F3;FINDEN(""_"";F3)-1);"""")"
'Formeln durch Werte ersetzen, wenn nicht gewünscht/benötigt dann löschen
.Range(.Cells(3, 2), .Cells(loLetzte, 2)).Value = _
.Range(.Cells(3, 2), .Cells(loLetzte, 2)).Value
'Formeln Spalte G
.Range(.Cells(3, 7), .Cells(loLetzte, 7)).FormulaLocal = _
"=WENN(ISTZAHL(FINDEN("".aup"";E3));"" "";WENN(ISTZAHL(FINDEN("".mp3"";I3));""[Play
]"";""""))"
'Formeln durch Werte ersetzen, wenn nicht gewünscht/benötigt dann löschen
.Range(.Cells(3, 7), .Cells(loLetzte, 7)).Value = _
.Range(.Cells(3, 7), .Cells(loLetzte, 7)).Value
'Formeln Spalte H
.Range(.Cells(3, 8), .Cells(loLetzte, 8)).FormulaLocal = _
"=WENN((C3="""")+(D3="""");"""";(""../wp-content/audio-database/" _
& """&WECHSELN(F3;"".aup"";""/"")))"
'Formeln durch Werte ersetzen, wenn nicht gewünscht/benötigt dann löschen
.Range(.Cells(3, 8), .Cells(loLetzte, 8)).Value = _
.Range(.Cells(3, 8), .Cells(loLetzte, 8)).Value
'Formeln Spalte I
.Range(.Cells(3, 9), .Cells(loLetzte, 9)).FormulaLocal = _
"=WENN(((C3="""")*(D3=""""))+((C3
Gruß Werner