Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
516to520
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
516to520
516to520
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formeln anzeigen

Formeln anzeigen
14.11.2004 16:36:33
ransi


      
Hallo werte excelgemeinde
ich habe mir ein makro gebastelt um die Formeln im activesheet anzeigen zu lassen.
(zwei schaltfläcen 
in der leiste über der Bearbeitungsleiste.) 
Funktioniert so auch ganz gut beim einblenden.
das Problem kommt wenn ich die anzeige wieder löschen will und mehr als 1 Anzeigefeld
eingeblendet ist.
das Löschen passiert im moment mit dem zweiten code.
wenn ich die textbox mit textbox1 anspreche löscht der code nur eine textbox.
wenn ich sie mit ActiveSheet.Shapes.Count anspreche wird immer das
letzte steuerelement gelöscht das ich eingefügt habe.Das könnte auch mal ein button oder auch ne textbox 
oder so sein..
Ich hätte gerne folgendes und kriegs nicht auf die reihe:
wenn eine anzeige eingeblendet ist, und ich klicke den anzeigen Button
nocheinmal soll die alte anzeige gelöscht und die neue Anzeige soll
eingeblendet werden.
vieleich hat ja jemand noch ne ganz andere idee. (außer die geniale Jeanie)
Option Explicit
Dim ac As Range
Dim t As String
Dim s As String
Dim zelle As Range
Sub formeln_anzeigen()
Set ac = ActiveCell
On Error GoTo fehler
For Each zelle In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas) 'formeln finden
            t = zelle.Address & " " & zelle.FormulaLocal & Chr(10) & _
            zelle.Address & " " & zelle.Formula
            s = s & t & Chr(10)
Next
'Debug.Print s
'textbox einfügen
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", _
      Left:=ActiveCell.Left, _
      Top:=ActiveCell.Top + ActiveCell.Height, _
      Width:=700, _
      Height:=300).Select
With ActiveSheet.OLEObjects(ActiveSheet.OLEObjects.Count).Object 'textbox formatieren
            .Font.Size = 8
            .Value = s
            .AutoSize = 
True
            .MultiLine = 
True
End With
ac.Activate
s = ""
Exit Sub
fehler:
MsgBox Prompt:="Im aktiven Blatt " & Chr(10) & _
                  "keine Zellen mit Formeln gefunden .", _
                  Title:="Fehlermeldung"
End Sub
Public Sub weg()
On Error Resume Next
ActiveSheet.OLEObjects("textbox1").Delete 
'wieder löschen (ActiveSheet.Shapes.Count)
End Sub
danke schonmal ins vorraus an alle die sich damit beschäftigen:
ransi 


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formeln anzeigen
14.11.2004 17:45:41
Josef
Hallo Ransi!
Probier mal.
Option Explicit
Dim ac As Range
Dim t As String
Dim s As String
Dim zelle As Range

Sub formeln_anzeigen()
Set ac = ActiveCell
weg
On Error GoTo fehler
For Each zelle In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas) 'formeln finden
t = zelle.Address & " " & zelle.FormulaLocal & vbLf & _
zelle.Address & " " & zelle.Formula
s = s & t & vbLf
Next
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=ActiveCell.Left, Top:=ActiveCell.Top, _
Width:=0, Height:=0) _
.Name = "FormelText"
With ActiveSheet.OLEObjects("FormelText").Object
.Font.Size = 8
.Text = s
.AutoSize = True
.MultiLine = True
End With
ac.Activate
s = ""
Exit Sub
fehler:
MsgBox Prompt:="Im aktiven Blatt " & Chr(10) & _
"keine Zellen mit Formeln gefunden .", _
Title:="Fehlermeldung"
End Sub

Public Sub weg()
On Error Resume Next
ActiveSheet.OLEObjects("FormelText").Delete
End Sub

Code eingefügt mit: Excel Code Jeanie
Gruß Sepp
Anzeige
danke...
ransi
...das du dir die zeit genommen hast.
funktioniert !
ransi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige