| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Interior-Eigenschaften (761 mal gelesen)
|
Jonas Sommerfeld Mitglied

 Beiträge: 43 Registriert: 08.03.2005
|
erstellt am: 15. Apr. 2005 17:03 <-- editieren / zitieren --> Unities abgeben:         
Hallo @ all, ich habe ein Problem mit der Interior-Eigenschaft. Normalerweise funzt das ja auch nur komischerweise nicht immer. Zelle1.Interior.ColorIndex = 3 Zelle2.Interior.ColorIndex = 3 Zelle4.Interior.ColorIndex = 3 bei diesen Sachen bspw. klappt es nicht. Ich habe schon ne Funktion gebaut, die abfragt, ob die Zelle schon den zellenwert hat aber die funktioniert udn ich erzeuge immer den Fehler 1004. Ich hoffe ihr könnt mir helfen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
   
 Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 15. Apr. 2005 17:16 <-- editieren / zitieren --> Unities abgeben:          Nur für Jonas Sommerfeld
Hallo Jonas, was sind denn: Zelle1/Zelle2/Zelle4 ? Sind das Objektvariablen, die du mit:
Code:
Dim Zelle1 as Range, Zelle2 as Range '... set Zelle1 = sheets("xyz").Range("A1") set Zelle2 = sheets("xyz").Range("A2")
definiert und belegt hast? Oder poste mal etwas mehr Code, ist sonst so schwer zu sagen ;-) Gruss Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonas Sommerfeld Mitglied

 Beiträge: 43 Registriert: 08.03.2005
|
erstellt am: 21. Apr. 2005 08:01 <-- editieren / zitieren --> Unities abgeben:         
Hey Nancy, also gemeint ist damit die Zelle in einem ExcelSheet.Habe in der Excelhilfe nachgeschaut und die Zelle wird nicht mit Set zugewiesen. Bsp. aus Excelhilfe Worksheets("Tabelle1").Range("A1").Interior.ColorIndex = 3 Jonas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
   
 Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 21. Apr. 2005 13:59 <-- editieren / zitieren --> Unities abgeben:          Nur für Jonas Sommerfeld
|
Jonas Sommerfeld Mitglied

 Beiträge: 43 Registriert: 08.03.2005
|
erstellt am: 26. Apr. 2005 10:43 <-- editieren / zitieren --> Unities abgeben:         
Hey nancy, hier ist der Sub , die den Farbwechsel macht. Lt. Excelhilfe ist der aber so o.k. Was mache ich denn hie nur falsch. Private Sub Farbwechsel(Zellenbereich As Range, Farbe As Integer) Zellenbereich = Null If Zellenbereich.Interior.ColorIndex = Farbe Then Else Zellenbereich.Interior.ColorIndex = Farbe End If Jonas End Sub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
   
 Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 26. Apr. 2005 11:28 <-- editieren / zitieren --> Unities abgeben:          Nur für Jonas Sommerfeld
Jonas, was ist denn: Zellenbereich = Null '?? Das muss ein Range sein, den du in der aufrufenden Sub übergibst, also zB irgendsowas in der Art: Code:
Sub test() farbwechsel Selection, 5 farbwechsel [a1:b3], 3 farbwechsel Range("C1:C5"), 46 End SubSub farbwechsel(bereich As Range, farbe As Integer) If bereich.Interior.ColorIndex = farbe Then MsgBox "true" Else MsgBox bereich.Address & " has other color " & bereich.Interior.ColorIndex End If End Sub
HTH  , Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonas Sommerfeld Mitglied

 Beiträge: 43 Registriert: 08.03.2005
|
erstellt am: 26. Apr. 2005 11:54 <-- editieren / zitieren --> Unities abgeben:         
Hey Nancy, Null schreibt gar nichts in die zelle rein, das macht dann sinn, wenn Du ne alte eingabe hast und du brauchst die nicht mehr. Na so wie du das hast hab ich das ja auch schon geschrieben und irgendwie funzt das ja auch noch nicht. Jonas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonas Sommerfeld Mitglied

 Beiträge: 43 Registriert: 08.03.2005
|
erstellt am: 26. Apr. 2005 11:56 <-- editieren / zitieren --> Unities abgeben:         
|
startrek Mitglied Architekt
   
 Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 26. Apr. 2005 12:17 <-- editieren / zitieren --> Unities abgeben:          Nur für Jonas Sommerfeld
Hmm, na oki, weiterforschen;-) Deine Sub ist privato, wo steht die genau? Wo steht die aufrufende Sub? Ausserdem spielt eine Rangeangabe ohne 'Sheets(index)' davor immer im Activesheet. Da kann schon ab & zu mal ein 1004'er kommen, kommt auf den Code und die jeweiligen Umstände an;-) Versteckte/geschütze Blätter drinne? und und und ... Da gibts nun IMHO mehrere mögliche Fehlerquellen, ohne genauere Angaben, weiss ich da im Moment auch nicht mehr dazu, vielleicht noch wer anders? Oder im E-Fall mal ne Beispielmappe uppen. lg Nancy -- It is easier to write an incorrect program than understand a correct one. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonas Sommerfeld Mitglied

 Beiträge: 43 Registriert: 08.03.2005
|
erstellt am: 26. Apr. 2005 13:22 <-- editieren / zitieren --> Unities abgeben:         
Hey Nancy, habe folgendes gemacht. Ich habe ein Modul, wo ich die RangeObjekte deklariere.Bsp.: Worksheets("Tabelle1").Range("A10") Jedesmal, wenn ich den "Farbwechsel" benötige,dann rufe ich die Funktion über Call auf.Beide Subs stehn in dem selben Modul. Danke schon mal im Voraus. Jonas P.s habe dir ne Mail geschrieben Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
   
 Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 26. Apr. 2005 16:06 <-- editieren / zitieren --> Unities abgeben:          Nur für Jonas Sommerfeld
ManMan Jonas, willst mich fertig machen oder was? noch 1500 CodeLines to my next ski-trip ohne Mappe ;-)) Jetzt Ernst beiseite, ich kann dazu garnix sagen, was mir auffiel ist/war zB sowas hier: 'Worksheets("xxx").Steigung_rechts.Interior.ColorIndex = 3 Worksheets("xxx").Steigung_rechts.Visible = False Wenn ich das richtig lese, soll Steigung_rechts ein Button sein, Steigung_links1/Steigung_links2 dagegen Rangeobjecte. Du musst hier schon alleine höllischst aufpassen nix durcheinanderzuwürfeln, 'Worksheets("xxx").Steigung_rechts.Interior.ColorIndex = 3 gibt nen Error, da's ein Button ist. Hast aber ja selber schon auskommentiert;-) Weiter: set Steigung_links1 = Worksheets("xxx").Range("A12") Steigung_links1 ist also schon sheetbezogen als Range vergeben, also ist ein: 'Worksheets("xxx").Steigung_links1.Interior.ColorIndex = 3 doppeltgemoppelt, einfach müsste reichen: Steigung_links1.interior.colorindex=3 Versuch' vielleicht auch mal bei allen Objectvariablen für Ranges ein rng_Variable, für CommandButtons ein cmd_Variable oder cbo_Variable zu vergeben, also so, dass dir der TypeName der Variablen immer gleich ins Auge springt. Mehr Ideas hab' ich momentan nicht dazu;-) lg Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |