Microsoft Excel

Herbers Excel/VBA-Archiv

Anwendungsfehler With ThisWorkbook.Worksheets ...

Betrifft: Anwendungsfehler With ThisWorkbook.Worksheets ... von: Peter
Geschrieben am: 18.06.2007 17:52:23

Liebes Forum
Ich versuche einem Bereich eine bedingte Formatierung zuzuweisen. Der Bereich setzt sich zusammen aus einem Bereich "ySoll" und einem Bereich "yHaben". Die Summe aller Zahlen muss NULL geben. Ist dies nicht der Fall, sollen die Bereiche rot markiert werden. Diese Farbe habe ich standardmässig zugewiesen und wenn die Summe tatsächlich null gibt, soll die Farbe mit "keine Farbe" (bei Farben anwählbar) überschrieben werden.

Dieser Code hat ein Problem mit der Zeile With ThisWorkbook.Worksheets("Original-Journal").Range("rngBereich") - mir ist jedoch nicht klar, worin das Problem liegt.
Desweiteren weiss ich deswegen nicht, ob der untere Teil des Codes funktioniert. Insbesondere sehe ich im Code die Farbe ("keine Farbe") nicht enthalten. Ich habe den Code auf Grundlage der Makroaufzeichnung angepasst und übernommen.

Kann mir jemand helfen?

Besten Dank, Peter

Sub Journal_kopieren()
Dim rngBereich As Range
ThisWorkbook.Worksheets("Original-Journal").Cells.Copy Destination:=ThisWorkbook.Worksheets(" _
Journal-zum-bearbeiten").Range("A1")
Set rngBereich = Union(Range("ySoll"), Range("yHaben"))
With ThisWorkbook.Worksheets("Original-Journal").Range("rngBereich")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=RUNDEN(SUMME(ySoll)+SUMME(yHaben);1)=0"
End With
End Sub


  

Betrifft: AW: Anwendungsfehler With ThisWorkbook.Worksheets ... von: Harry
Geschrieben am: 18.06.2007 19:09:09

Hallo Peter,

den "ThisWorkbook"-Aufruf verwende ich standardmäßig nur für AddIns.

Vielleicht funktioniert's, wenn Du "ThisWorkbook" durch "ActiveWorkbook" ersetzt.

Gruß
Harry


  

Betrifft: AW: Anwendungsfehler With ThisWorkbook.Worksheets ... von: Peter
Geschrieben am: 18.06.2007 19:17:53

Hallo
Mit "ActiveWorkbook" funktioniert's leider auch nicht.
Weiss noch jemand Rat?
Gruss, Peter


  

Betrifft: AW: Anwendungsfehler With ThisWorkbook.Worksheets ... von: Harry
Geschrieben am: 18.06.2007 20:13:33

Hallo Peter,

vielleicht so:

Sub Journal_kopieren()
  Dim rngBereich As Range
  ThisWorkbook.Worksheets("Original-Journal").Cells.Copy _
  Destination:=ThisWorkbook.Worksheets("Journal-zum-bearbeiten").Range("A1")
  Worksheets("Original-Journal").Activate
  Set rngBereich = Application.Union(Range(ySoll), Range(yHaben))
  With rngBereich
  .FormatConditions.Delete
  .FormatConditions.Add Type:=xlExpression, Formula1:= _
          "=RUNDEN(SUMME(ySoll)+SUMME(yHaben);1)=0"
  End With
End Sub



Gruß
Harry


  

Betrifft: AW: Anwendungsfehler With ThisWorkbook.Worksheets ... von: Fred
Geschrieben am: 18.06.2007 20:11:47

Hi,



Referenzierung unzureichend:





Set rngBereich = Union(Range("ySoll"), Range("yHaben"))





mfg Fred