Problem bei mehreren VBA´s auf einer Zelle
02.10.2003 20:49:41
Markus
ich arbeite in zwei Tabellbereichen. In Tab1 sind Eingabezellen, in die ein "x" vorgegeben werden kann. Dieses "x" sorgt dafür, dass in Tab2 ausgeblendete Zeilen eingeblendet werden. Das ganze funktioniert mit VBA:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Sheets("Tabelle2").Rows(10).Hidden = Not (UCase(Target.Value) = "X")
End If
End Sub
.. Zeile 10 in Tab2 wird wieder eingeblendet. Nimmt man das "x" wieder weg, wird die Zeile wieder ausgeblendet. Stellt ohne den nachstehenden VBA auch kein Problem dar:
dagegen habe ich in Tab2 eine Formel vorgegeben, die in Tab2 / Zelle A10 heißt:
=WENN(Tabelle1!A2>0;Tabelle1!A2;"")
in A2 kann man einen Text hinterlegen, wobei die Zelle mit einem Zeilenumbruch ausgestattet ist. Um einen Zeilenumbruch bei einem Text-Bezug per Formel in Tab2 / A10 zu bewirken, habe ich folgenden VBA gesetzt:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "A2" Then
Sheets("Tabelle2").Rows(10).AutoFit
End If
End Sub
natürlich ohne die erst und letzte Zeile, da beide VBA´s unter Tab1 stehen, sonst bringt Excel mir ne Fehlermeldung.
So, der Zeilenumbruch findet weiterhin statt. Aber wenn ich jetzt ein "x" in Tab1 / A1 setzte und es wieder entferne, bleibt die Zeile 10 in Tab2 weiterhin eingeblendet. Ich denke das ist nur, weil ich einen anderen VBA bezogen auf diese Zeile habe. Wie gesagt, wenn die Zelle ohne diesen VBA des Zeilenumbruchs besteht, funktioniert es reibungslos.
Zur ausführlichen Erläuterung: Es sind insgesamt 5 Zeilen in Tab2 bei unterschiedlichen Eingabefeldern in Tab1 davon betroffen.
Wer bis hierhin gelesen hat, denn Danke ich schonmal vielmals!!!!
Jetzt kommts erst recht. Ich wollte Euch gerade ein Beispiel hochladen. Bei dem hat es nach dem vorstehenden Prinzip funktioniert. Leider muss ich noch weiter ausholen, da ich hier lediglich ein Bespiel beschrieben habe, bei dem es dummerweise klappt. Normalerweise habe ich eine sehr grosse Datei. Von den o.g. VBA´s die einen Zeilenumbruch bewirken habe ich insgesamt 5. Von den einzublendenden Zeilen ohne diesen VBA(Zeilenumbruch) 10, darüber hinaus arbeite ich mit einzublendenen Spalten (sind weit aus mehr, funktioniert jedoch auch weiterhin). Das ganze Spielchen findet parallel in 4 verschiedenen Tabellbereichen statt, wobei eine weitere Tabelle die Eingabetabelle ist. In diesen Tab-Bereichen werden oder bei manchen Zellen (mit dem Zeilenumbruch) sollten, jeweils zwei ausgeblendete Zeilen sich bei "x" wieder einblenden, was die Zeilen ohne diesen VBA (Zeienumbruch) auch machen, aber die anderen 5 (bzw. 10) nicht. That´s my thing.
Vielleicht ist es ja auch nur eine ganz leichte Antwort, auf die ich einfach nicht komme. Hat es vielleicht was mit der Anordnung der Code´s zu tun?? Oder warum funktioniert das nur nicht bei den oben angesprochenen Zeilen?
Wer mir hier weiterhelfen kann ist für mich der neue SUPERHELD!!
wer kann es?
Ich schick ich auch meine Datei, wenn Ihr wollt. Hat ca. 350KB. Aber BITTE helft mir Jungs! Ich bin echt am verzweifeln!!
Ich DANKE Euch schonmal vielmals vorab!
Gruß Markus