Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1624to1628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Laufzeitfehler 13 - Typen unverträglich
07.06.2018 09:50:41
Patrick
Guten morgen zusammen,
ich habe einen Code für einen Button zum berechnen von Werten in dem einige Folgemakros bei Klicken des Buttons aktiv werden, beim einfügen einer weiteren Funktion und Testen ergibt sich bei mir die Fehlermeldung "Laufzeitfehler 13 - Typen unverträglich", leider finde ich in eigener Recherche keine Lösung.
Der Fehler tritt zuerst in der Fett markierten Zeile ein und wandert dann herunter, die Felder in dem angegeben Bereich sind alle als Zahl/Integer formatiert und haben jeweils eine Zelle in der eine Dropdownliste ist. Könnte diese den Fehler verursachen? Wie kann ich da ein Workaround einbauen?
Vielen Dank im Voraus :)
Hier einmal der Code des Buttons:
Sub berechnen()
If Range("D6")  "" Then
If Range("D7")  "" Then
If Range("D6") > Range("D7") Then
MsgBox "A größer als B!"
Range("D7") = ""
End If
End If
End If
If Range("D4:D9") = "" Then
If Range("D17:D22") = "" Then
MsgBox "Eingaben unvollständig!"
End If
End If
If Range("D6")  "" Then
If Range("D5") > 30 Then
MsgBox "D in mm!"
Range("D5") = ""
End If
End If
If Range("F10") > 1 Then
MsgBox "Bitte E Angaben prüfen!"
End If
Application.Calculation = xlCalculationAutomatic 'automat.Berechnung einschalten
Application.ScreenUpdating = True 'Bildschirmaktualisierung einschalten
If Range("H6")  1 Then
MsgBox "Summe der F ungleich 100%!"
Range("D11:D16") = ""
End If
Application.ScreenUpdating = False 'Bildschirmaktualisierung ausschalten
Application.Calculation = xlCalculationManual 'automat.Berechnung ausschalten
End Sub

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 10:13:25
ChrisL
Hi Patrick
Dein Vorgehen funktioniert nur für einzelne Zellen. Du könntest es z.B. so lösen:
If WorksheetFunction.CountA(Range("D4:D9")) = 0 Then
cu
Chris
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 10:18:46
Patrick
Hi Chris,
ich hatte einen Denkfehler drin, mit deinem Tipp dass ich einzelne Zellen nehmen soll funktioniert es :)
Es soll geprüft werden ob irgendeine Zelle in den Bereichen leer ist, Habe es jetzt vereinzelt und es läuft.
Vielen Dank !
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 10:20:38
ChrisL
Hi Patrick
Dann so...
If WorksheetFunction.CountBlank(Range("D4:D9")) > 0 Then
cu
Chris
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 10:23:48
Patrick
Hi Chris,
funktioniert auch und sieht um einiges besser aus.
Vielen Dank für deine Hilfe :)
Anzeige
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 10:24:10
Daniel
Hi
prüfen, ob irgendeine Zelle in einem Bereich leer ist, kannst du auch so:
if Worksheetfunction.CountBlank("Range("D4:D9")) > 0 Then
oder
if Worksheetfunction.CountA("Range("D4:D9")) 
um zu prüfen, ob alle Zellen mit Zahlen gefüllt sind, kannst du das verwenden:
if Worksheetfunction.Count("Range("D4:D9")) 
Gruß Daniel
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 10:46:54
Patrick
Hi,
vielen Dank für eure Antworten, mir hat sich nun ein weiteres Problem ergeben, und zwar kann in meiner Tabelle im Bereich C11:D16 angegeben werden welche Rohmaterialien mit welchem Anteil in dem Artikel vorhanden sind.
Ich bräuchte das so, dass geprüft wird ob die Anteile zusammen 100% ergeben mit Fehlermeldung wenn unter und über 100%.
Außerdem soll geprüft werden wenn z.B. ein Anteil angegeben wird aber keine Bezeichnung also wenn entweder C11 oder D11 z.B. leer sind, dann soll auch eine Meldung kommen.
Kann man da mit Makros etwas schnelles basteln?
Habe bisher mit einer Hilfszelle gearbeitet und der Code sieht so aus:
If Range("H6") 100 Then
MsgBox "Summe der Materialanteile ungleich 100%!"
Range("D11:D16") = ""
End If
Leider zeigt es auch die Meldung an wenn die Anteile 100% ergeben.
Vielen Dank und schöne Grüße,
Patrick
Anzeige
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 10:54:14
ChrisL
Hi Patrick
Wert 1 als Prozent formatiert ergibt 100%. Wert 0,5 = 50 %.
Ohne Hilfszelle
If WorksheetFunction.Sum(Range("C11:D16"))  1 Then
MsgBox "Summe der Materialanteile ungleich 100%!"
Range("D11:D16").ClearContents
End If
cu
Chris
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 10:58:38
Patrick
Hi Chris,
danke für die schnelle Antwort, es funktioniert soweit gut, hast du vielleicht auch eine Idee für die andere Prüfung? Also wenn C11 oder D11 z.B. leer sind und das bis C16/D16.
Grüße,
Patrick
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 11:04:38
ChrisL
Hi
Sub t()
Dim i As Integer
For i = 11 To 16
If WorksheetFunction.CountBlank(Range(Cells(i, 3), Cells(i, 4))) = 1 Then
MsgBox "nur ein Feld ausgefüllt."
Exit Sub
End If
Next i
End Sub
cu
Chris
Anzeige
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 11:13:37
Patrick
Hi Chris,
kannst du mir vielleicht auch noch sagen wo ich den neuen "Sub" einfügen kann? Direkt unter die andere Funktion oder ganz unten unter den "End Sub" von dem Button?
Kenne mich leider mit VBA garnicht aus.
Danke und Grüße
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 11:21:37
ChrisL
Hi Patrick
Solange die Reihenfolge der Prüfung egal ist, kannst du den Codeteil irgendwo einfügen.
cu
Chris
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 11:28:19
Patrick
Hi Chris und Daniel,
die Datei läuft und funktioniert einwandfrei. Vielen Dank euch beiden für eure Hilfe.
Das Herber Forum enttäuscht nicht :)
Wünsche euch allen noch einen schönen Tag ich geh mal Ergebnisse vorstellen :)
Anzeige
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 11:53:37
Patrick
Hallo zusammen, sorry ich schon wieder :)
Gibt es eine Möglichkeit wenn irgendeine Information in einer Tabelle geändert wird, eine bestimmte Zelle Rot zu färben bis ein gewisses Ereignis auftritt (klicken eines Buttons) und diese nach dem Ereignis dann grün wird?
Ich brauch das in der Hinsicht wenn der Button geklickt wird und die Zelle grün ist und man dann Parameter ändert soll der Button Rot werden bis man ihn erneut drückt zum neu berechnen.
Über eine schnelle Antwort würde ich mich sehr freuen :) Provisorische Lösungen gehen auch.
Danke und Grüße,
Patrick
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 12:46:08
ChrisL
Hi Patrick
Dies ist ein Forum und keine persönliche Betreuung. Darum verabschiede ich mich mit diesem Beitrag.
Farben machst du über bedingte Formatierung. Das Kennzeichen (WAHR/FALSCH) erreichst du mit folgendem Code:
Private Sub CommandButton1_Click()
On Error Resume Next
Application.EnableEvents = False
Range("A1") = False
Application.EnableEvents = True
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
Range("A1") = True
Application.EnableEvents = True
End Sub
cu
Chris
Anzeige
AW: Laufzeitfehler 13 - Typen unverträglich
07.06.2018 11:15:18
Daniel
Hi
wie wäre es mit ZählenWenns?
wenn C11:C16 die Bezeichnung und in D11:D16 die Anteile stehen, kannst du mit diesem Zählenwenns prüfen, ob unvollständige Eingaben vorhanden sind (für i.O. muss das Ergebnis 0 sein)

=ZÄHLENWENNS(C11:C16;"";D11:D16;">0")+ZÄHLENWENNS(C11:C16;"?*";D11:D16;"")
das erste ZählenWenns zählt: Leere Bezeichung bei vorhandemen Prozentwert, das zweite zählt vorhandene Bezeichnung bei leerem Prozentwert.
in VBA dann eben entsprechend mit

Worksheetfunction.CountIfs(Range("C11:C16"), "", Range("D11:D16"), ">0")
Gruß Daniel
Anzeige

146 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige