Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Fehler "Typen unverträglich"?
#21
Hallo Stefan,

hast du auch die betroffenen Zellen ausgewählt und mit rechter Maustaste - zellen formatieren - Schutz - ausgeblendet angehackt?
Sobald ich das mache, gibt es die Fehlermeldungen egal ob ich mit "UserInterfaceOnly:=True" oder ohne! :)

LG
Alexandra
Antworten Top
#22
Hallo Alexandra,

(16.09.2020, 15:22)cysu11 schrieb: rechter Maustaste - zellen formatieren - Schutz - ausgeblendet angehackt?
Sobald ich das mache, gibt es die Fehlermeldungen egal ob ich mit "UserInterfaceOnly:=True" oder ohne! :)

wann machst Du das? Nachdem das Makro durchgelaufen ist? Und wieso willst Du den Haken setzen?
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#23
Hallo Stefan,

das mache ich bevor ich überhaupt irgend ein Code starte und das mache ich damit die Formeln ausgeblendet werden!

LG
Alexandra
Antworten Top
#24
Hallo Alexandra,

wenn ich den Code einmal durchlaufen lasse, ist das Tabellenblatt geschützt. Dann kann ich den Haken Formel ausgeblendet mehr nicht setzen, weil der Punkt Zellen formatieren im Kontextmenü grau ist. Hebe ich den Blattschutz auf, kann ich den Haken setzen bzw. entfernen ohne das ich eine Fehlermeldung erhalte.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#25
Hallöchen,
Kann es sein dass es da Probleme mit der Reihenfolge der verschiedenen Aktionen gibt? Also, beim Blattschutz setzen müsste neben dem UserInterfaceOnly gleichzeitig das Ausblenden der Formeln gesetzt werden.
Wenn das passt, der Anwender keine Formeln sieht und nur an ungeschützten Stellen was eingeben kann, kann man schauen, dass ein Makro trotzdem Formeln auslesen und ändern kann. Mein Smartphone unterstützt nur reichlich wenig VBA Undecided
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#26
Hallo Stefan, Hallo Andre,

mein Ausgangssituation ist so, daß ich den Hacken bei "Ausgeblendet" mache, bevor ich das Blatt schütze. Dann schütze ich das Blatt entweder manuell oder auch per VBA egal wie, dann kommen immer die Fehlermeldungen, wenn ich in Spalte A was verändere, die Fehlermeldungen, habe ich ja weiter oben schon ausführlich beschrieben! Also der Code funktioniert wunderbar, nur darf ich nicht den Hacken setzen bei "ausgeblendet", dann ist vorbei! :)

Ich vertehe das garnicht, denn wenn ich den Blattschutz manuell aufhebe und aus dem Code die Zeilen mit den Protect und Unprotect auskommentiere, dann funktioniert der Code auch nur daß die Formeln natürlich dann nicht ausgeblendet sind, da der Hacken bei "ausgeblendet" erst dann Wirkung zeigt, wenn der Blattschutz gesetzt wird! Das Problem ist also wenn der Hacken gesetzt ist bei "ausgeblendet" und gleichzeitig Blattschutz im Spiel ist, egal ob manuell oder per VBA!

LG
Alexandra
Antworten Top
#27
Hallo zusammen,

ich glaube ich habe den Fehler gefunden!  :72: :72: :72: :72:

Code:
If rngZelle.Offset(0, 3).FormulaR1C1 = "=IF(OR(ISERROR(VLOOKUP(RC1,'C:\TEMP\[Materialdaten.xlsm]Materialdaten'!C1:C9,7,FALSE)),RC1=""""),"""",IF(ISBLANK(VLOOKUP(RC1,'C:\TEMP\[Materialdaten.xlsm]Materialdaten'!C1:C9,7,FALSE)),VLOOKUP(RC1,Materialdaten.xlsm!C1:C9,2,FALSE),VLOOKUP(RC[-3],'C:\TEMP\[Materialdaten.xlsm]Materialdaten'!C1:C9,7,FALSE)))" Then
         Else
            rngZelle.Offset(0, 3).FormulaR1C1 = "=IF(OR(ISERROR(VLOOKUP(RC1,'C:\TEMP\[Materialdaten.xlsm]Materialdaten'!C1:C9,7,FALSE)),RC1=""""),"""",IF(ISBLANK(VLOOKUP(RC1,'C:\TEMP\[Materialdaten.xlsm]Materialdaten'!C1:C9,7,FALSE)),VLOOKUP(RC1,Materialdaten.xlsm!C1:C9,2,FALSE),VLOOKUP(RC[-3],'C:\TEMP\[Materialdaten.xlsm]Materialdaten'!C1:C9,7,FALSE)))"
         End If

In der Formel fehlt das Verzeichnis, sieh rote Schrift! Ich ärgere mich sooooooooooo!  Angry
Wie immer das Problem sitzt vor dem PC!

Sorry für die Umstände & vielen lieben Dank nochmals an Alle die mitgeholfen haben! :)

LG & ein schönes WE noch
Alexandra

P.S. Warum wird das markierte nicht rot angezeigt? Mache ich da wieder was falsch? :)
Antworten Top
#28
Hallo Alexandra,

(19.09.2020, 18:32)cysu11 schrieb: P.S. Warum wird das markierte nicht rot angezeigt? Mache ich da wieder was falsch? :)

im Code-Tag bzw. PHP-Tag geht das nich. In solchen Fällen müsstest Du glaube den Zitier-Tag benutzen.
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • cysu11
Antworten Top
#29
Hallo zusammen,

ich habe mich doch zu früh gefreut :(

Ich habe nun zwei Testdateien erstellt, damit Ihr das besser nachvollziehen könnt. Ich beschreibe das Problem kurz nochmals.
In der Datei "Test.xlsm" findet Ihr den VBA-Code mit dem geprüft werden soll ob in der jeweiligen Zeile nach Eingabe in Spalte A eine bestimmte Formel vorhanden ist, wenn nicht, dann soll diese entsprechend eingetragen werden.
Das ganze funktioniert wunderbar, auch wenn das Blatt geschützt ist, natürlich nicht der Bereich B30 bis G42, dieser ist nicht gesperrt, denn dieser Bereich soll auch manuell überschrieben werden können. Soweit so gut!

Das Problem fängt an, wenn ich diesen Bereich markiere, rechte Maustaste, Zellen formatieren, Reiter Schutz und "Ausgeblendet" anhacke und dann wieder Blattschutz einschalte! Dann werden nur noch die Daten gezogen aus der Datei "Materialdaten.xlsm" wo bereits die Formeln schon drin sind in den Zellen. Da wo noch keine Formeln drin sind, gibt es immer Fehlermeldungen!

Schalte ich das "Ausblenden" wieder aus, dann geht alles ohne Problem! Ich kann das absolut nicht nachvollziehen!?

Was muss ich ändern, damit das so funktioniert, wie ich es haben will?

Vielen Dank im Voraus
LG
Alexandra


Angehängte Dateien
.xlsm   Materialdaten.xlsm (Größe: 8,89 KB / Downloads: 3)
.xlsm   Test.xlsm (Größe: 18,15 KB / Downloads: 2)
Antworten Top
#30
Hallo Alexandra,

teste mal
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.Sheets("Test").Unprotect
Dim RaBereich As Range, rngZelle As Range
Set RaBereich = Columns(1)
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then
For Each rngZelle In RaBereich
If rngZelle.Row > 29 And rngZelle.Row < 43 Then
If rngZelle.Value <> "" Then
Application.EnableEvents = False
If rngZelle.Offset(0, 1).FormulaR1C1 <> "=IF(RC1="""","""",IF(OR(ISBLANK(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,5,FALSE)),ISERROR(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,5,FALSE))),"""",VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,5,FALSE)))" Then
rngZelle.Offset(0, 1).FormulaR1C1 = "=IF(RC1="""","""",IF(OR(ISBLANK(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,5,FALSE)),ISERROR(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,5,FALSE))),"""",VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,5,FALSE)))"
End If
If rngZelle.Offset(0, 2).FormulaR1C1 <> "=IF(RC1="""","""",IF(OR(ISBLANK(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,6,FALSE)),ISERROR(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,6,FALSE))),"""",VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,6,FALSE)))" Then
rngZelle.Offset(0, 2).FormulaR1C1 = "=IF(RC1="""","""",IF(OR(ISBLANK(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,6,FALSE)),ISERROR(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,6,FALSE))),"""",VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,6,FALSE)))"
End If
If rngZelle.Offset(0, 3).FormulaR1C1 <> "=IF(RC1="""","""",IF(OR(ISBLANK(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,9,FALSE)),ISERROR(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,9,FALSE))),"""",VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,9,FALSE)))" Then
rngZelle.Offset(0, 3).FormulaR1C1 = "=IF(RC1="""","""",IF(OR(ISBLANK(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,9,FALSE)),ISERROR(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,9,FALSE))),"""",VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,9,FALSE)))"
End If
If rngZelle.Offset(0, 5).FormulaR1C1 <> "=IF(RC1="""","""",IF(OR(ISBLANK(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,2,FALSE)),ISERROR(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,2,FALSE))),"""",VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,2,FALSE)))" Then
rngZelle.Offset(0, 5).FormulaR1C1 = "=IF(RC1="""","""",IF(OR(ISBLANK(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,2,FALSE)),ISERROR(VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,2,FALSE))),"""",VLOOKUP(RC1,'C:\Temp\[Materialdaten.xlsm]Materialdaten'!C1:C9,2,FALSE)))"
End If
If rngZelle.Offset(0, 6).FormulaR1C1 <> "=IF(OR(RC[-2]="""",RC[-1]=""""),"""",RC[-2]*RC[-1])" Then
rngZelle.Offset(0, 6).FormulaR1C1 = "=IF(OR(RC[-2]="""",RC[-1]=""""),"""",RC[-2]*RC[-1])"
End If
Application.EnableEvents = True
Else
Application.EnableEvents = False
rngZelle.Offset(0, 4).Value = ""
Application.EnableEvents = True
End If
End If
Next rngZelle
End If
Set RaBereich = Nothing
ThisWorkbook.Sheets("Test").Protect
End Sub
Gruß Stefan
Win 10 / Office 2016
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste