Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

 [Excel 2003] Summe nur aus eingeblendeten Zellen Berechnen.
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
tatjana89
Newbie
Newbie


Anmeldedatum: 25.07.2006
Beiträge: 22

BeitragVerfasst am: 07.07.2008, 09:44 Nach oben

Hallo liebes Forum, Smile

ich hätte eine Frage. Ich habe folgenden Code in meien Arbeitsblatt eingebaut, der mir in abhängigkeit einer eingegebenen Zahl verschiedene Zeilen ausblendet. (Vielen Dank, die Lösung hierfür habe ich auch aus diesem Forum!!! Smile

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Rows.Hidden = False
Select Case Target
Case 1
Rows("5:10").Hidden = True
Case 2
Rows("6:10").Hidden = True
Case 3
Rows("7:10").Hidden = True
Case 4
Rows("8:10").Hidden = True
Case 5
Rows("9:10").Hidden = True
Case 6
Rows("10").Hidden = True
Case Else
MsgBox "Dies ist keine Zahl von 1 bis 6"
End Select
End If
End Sub

Mein Probleme jetzt (dem Chef fallen halt immer neue Sachen ein.Wink):

1) Warum geht der Code nicht, wenn ich das Arbeitsblatt sperre und nur ein paar Zellen vom Schutz aufhebe. Gibt es da eine Möglichkeit dies zu ändern, weil das Arbeitblatt relativ kompliziert mit Verweisen und sowas aufgebaut ist und man es schnell Kaputtmachen kann, wenn man nicht auspasst.
2) Wenn ich Text statt einer Zahl in Zelle A1 eingebe, dann kommt nich die Box, sondern eine eine Fehlermeldung. (Ich hätte gerne die Box)
3) In Zeile 4 steht in Spalte A eine Zahl. Und in Zeile 11 soll die Summe der Zahlen in Spalte A von der Zeile 4-10 berechnet werden, aber nur die, die auch eingeblendet sind. Wenn ihr mir da nochmal weiterhelfen könntet (vor allem Problem Nummer 3) wäre ich euch sehr seher dankbar!!

Ganz Liebe Grüße an das Forum!
Tatjana
Rolling Eyes
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 07.07.2008, 10:02 Nach oben

Hallo!

1) Du kannst den Schutz vom Code aufheben lassen und am Ende wieder setzen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Me.Unprotect Password:="Hallo"
Rows.Hidden = False
Select Case Target
Case 1
Rows("5:10").Hidden = True
Case 2
Rows("6:10").Hidden = True
Case 3
Rows("7:10").Hidden = True
Case 4
Rows("8:10").Hidden = True
Case 5
Rows("9:10").Hidden = True
Case 6
Rows("10").Hidden = True
Case Else
MsgBox "Dies ist keine Zahl von 1 bis 6"
End Select
Me.Protect Password:="Hallo"
End If
End Sub

Die Zelle A1 muss dazu logischerweise freigegeben sein...

2) Das kann ich nicht nachvollziehen. Bei mir kommt auch dann die MsgBox. Hast du vielleicht noch eine Gültigkeitsprüfung in der Zelle?

3) =TEILERGEBNIS(109;A4:A10)

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
tatjana89
Newbie
Newbie


Anmeldedatum: 25.07.2006
Beiträge: 22

BeitragVerfasst am: 08.07.2008, 09:02 Nach oben

Hallo Schatzi,

vielen Dank für deine Hilfe! Ein zwei kleine Fragen hätte ich noch....Wink

1) Wenn ich Text statt einer Zahl eingebe, kommt die Fehlermeldung: Laufzeitfehler '13': Typen unverträglich. Weist du dann vielleicht, warum die Fehlermeldung kommt? Ich habe die Zelle ganz normal als Standard formatiert und sonst nichts mit ihr gemacht? (Als Hinweis: Ich arbeite mit Excel 2004 für Mac. Vielleicht ist das der Grund?)

2) Danke für die Lösung zum Problem mit den Summen. Das ist mir etwas peinlich, weil ich die Formel "Teilergebnis" schon kannte, aber dachte, das erste Argument muss eine Zahl (entsprechend der jeweiligen Funktion) von 1-11 sein. Das das mit "109" auch geht wusste ich nicht. Deshalb die Frage, kannst du als Experte mir vielleicht einen Tipp geben, wo man im Internet (oder auch in Buchform) einen guten Überblick über solche sachen findet und es sich dann selbst beibringen kann (Auch VBA)? Dann muss ich hier auch nicht immer so blöde Fragen stellen..Wink

Liebe Grüße und Bussi...Wink
Tatjana
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 08.07.2008, 09:31 Nach oben

Hallo!

Die Fehlermeldung kann ich mir eigentlich nicht erklären...
Eine winzige Chance sehe ich in der Änderung in
Select Case Target.Value
Aber wenn das nicht klappt, bin ich ratlos!

Bücher über Excel (auch VBA) findest du haufenweise bei www.amazon.de
Scripte über VBA lassen sich eine Menge ergooglen. Viele solcher Scripte findest du bei (Technischen) Unis, z.B. hier.

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
tatjana89
Newbie
Newbie


Anmeldedatum: 25.07.2006
Beiträge: 22

BeitragVerfasst am: 08.07.2008, 13:19 Nach oben

Hallo Schatzi,

leider bekomme ich auch bei "Select Case Target.Value" immer noch die Fehlermeldung "Laufzeitfehler '13': Typen unverträglich" und werde aufgefordert zu Debuggen. Kann ich mir auch nicht erklären. Aber mir ist aufgefallen, dass ich nur in der Arbeit (MAC/Excel 2004 für Mac) die Fehlermeldung bekomme, nicht aber auf meinem privaten Computer (PC/Excel 2003). Vielleicht ist es ja ein Programmfehler?? Smile

Vielen Dank für den Link zu dem Script! Ich werde es lesen und hoffe dannach ein bisschen gewanter im Umgang mit Excel zu sein....Smile

Was ich noch sagen wollte: Ich finde es toll, dass es heute noch Leute wie du/Sie gibt, die einem so schnell und ohne das sie selber einen nutzen davon haben, weiterhelfen.Vielen DANK!!!

lg
Tatjana[/i]
Benutzer-Profile anzeigenPrivate Nachricht senden
miriki
Schlauberger
Schlauberger


Anmeldedatum: 05.03.2007
Beiträge: 439
Wohnort: Kiel

BeitragVerfasst am: 08.07.2008, 14:55 Nach oben

tatjana89 hat Folgendes geschrieben:
immer noch die Fehlermeldung "Laufzeitfehler '13': Typen unverträglich" und werde aufgefordert zu Debuggen.

Und wenn Du dann auf "Debuggen" klickst, gehst es in den VBA-Editor und eine Zeile wird gelb markiert. Das ist die, in der der Fehler aufgetreten ist. Nur um sicher zu gehen: Die "SELECT CASE" Zeile ist es, oder?

Du schreibst ja auch, daß der Fehler auftritt, wenn Du Texte statt Zahlen eingibst. Da die Auswahl auf Zahlen-Alternativen basiert, kracht es dann eben, wenn plötzlich Buchstaben ankommen.

Im ersten Anlauf wurde ja "Target" unreflektiert benutzt. Dann kam der Vorschlag, es mit "Target.Value" zu versuchen. Und jetzt würde ich noch einen Schritt weiter gehen: Den target.value sogar explizit in eine Zahl umwandeln, was mittels der VAL()-Funktion geht:
--> val(target.value)
oder ggf. sogar
--> val(trim$(target.value))
oder um ganz sicher zu gehen (NULL-Werte):
--> val(trim$(target.value & " "))
Eine dieser Varianten sollte dann aber wirklich funktionieren. Jede weitere Steigerung würde dann mit ON ERROR und Konsorten laufen. Aber das dürfte eigentlich nicht unbedingt notwendig sein.

Bei Texten kommt dann eine "0" bei raus, wenn ich mich nicht irre, was dann durch den CASE ELSE Zweig abgehandelt würde.

Gruß, Michael
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
tatjana89
Newbie
Newbie


Anmeldedatum: 25.07.2006
Beiträge: 22

BeitragVerfasst am: 09.07.2008, 09:04 Nach oben

Hallo Michael, Smile

stimmt leider nicht. Die Zeile, die Gelb markiert wird, wenn ich auf Debuggen gehe ist "Case 1". (Siehe unten). Finde ich auch komisch und kanns mir nicht erklären. Sagt dir das vielleicht was?

Lg Tatjana

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$T$3" Then
Me.Unprotect Password:="password"
Rows.Hidden = False
Select Case Target
Case 1
Rows("19:57").Hidden = True
Case 2
Rows("32:57").Hidden = True
Case 3
Rows("45:57").Hidden = True
Case 4
Rows.Hidden = False
Case Else
MsgBox "Please enter the number of rounds (between 1 and 4)."
End Select
Me.Protect Password:="password"
End If
End Sub
Benutzer-Profile anzeigenPrivate Nachricht senden
miriki
Schlauberger
Schlauberger


Anmeldedatum: 05.03.2007
Beiträge: 439
Wohnort: Kiel

BeitragVerfasst am: 09.07.2008, 12:17 Nach oben

tatjana89 hat Folgendes geschrieben:
Die Zeile, die Gelb markiert wird, wenn ich auf Debuggen gehe ist "Case 1".

Hm, ok, das macht nicht wirklich einen Unterschied. In jedem Fall ist es das Konstrukt, das den gegebenen Wert (also z.B. "a") mit einem numerischen Wert (also z.B. 1) vergleichen will. Und wenn da Buchstaben auf Zahlen treffen, dann kracht es.

Hat eine der Möglichkeiten geholfen, die ich genannt habe? Ansonsten gäbe es noch die "dann eben ganz anders herum" Möglichkeit: Alles wird im "Text"-Format überprüft.

Das bedeutet: Aus CASE 1 wird dann CASE "1" usw. (Und vorweg bleibt dann das SELECT CASE Target.Value) Also: Der abzutestende Wert wird in " gesetzt, um ihn als Text zu kennzeichnen. Spätestens dann müßte es aber wirklich gehen.

Gruß, Michael
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
tatjana89
Newbie
Newbie


Anmeldedatum: 25.07.2006
Beiträge: 22

BeitragVerfasst am: 10.07.2008, 13:22 Nach oben

Hallo Michael,

vielen vielen Dank! Deine Lösung mit Val(Target.Value) hat geklappt....Smile

Lg
Tatjana
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge ein Name taucht mehrmals auf, Summe z... prisa Microsoft Excel Hilfe 3 11.11.2008, 08:35 Letzten Beitrag anzeigen
Keine neuen Beiträge RANG und SUMME und ??? Christian001 Microsoft Excel Hilfe 8 09.11.2008, 17:35 Letzten Beitrag anzeigen
Keine neuen Beiträge VBA Programmierung für eine Zelle auf... davenport Microsoft Excel Hilfe 10 03.11.2008, 09:09 Letzten Beitrag anzeigen
Keine neuen Beiträge Wert zweier Zellen vergleichen und dr... Frederic Microsoft Excel Hilfe 4 31.10.2008, 14:07 Letzten Beitrag anzeigen
Keine neuen Beiträge Inhalt mehrer Zellen in eine Zelle nitro87 Microsoft Excel Hilfe 3 30.10.2008, 20:59 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de