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

Via Makro in ein andere Sheet ein Makro einfuegen

Via Makro in ein andere Sheet ein Makro einfuegen
28.05.2003 08:22:50
Michael
Hallo,

ich habe folgendes Problem zu lösen:

Ich habe eine Excel-Datei mit Daten. Ich möchte nun mit
einem Makro das ich bei mir in einer zweiten Excel-Datei
vorhalte in der ersten Veränderungen der Daten vornehmen.
Das klappt soweit wunderbar und auch wunschgemäß.

Jetzt muss ich aber noch in diese Excel-Datei zusätzlich
einen Button links oben einfügen über den der Druck der
Seite gestartet wird.

Hat jemand eine Idee wie ich es schaffen kann via einem
Makro die Excel-Datei so zu bearbeiten das eben besagter
Button eingefügt wird und der mit der Druckfunktion
belegt werden kann ??

Bin für jede Hilfe/Tipp dankbar.

Gruß
Michael

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Via Makro in ein andere Sheet ein Makro einfuegen
28.05.2003 11:52:04
Dan

Hallo Michael,
ich schicke dir code mit zwei beispielen, die button in sheet zugeben. Ich habe es versucht den code mit kommentaren in der deutschen sprache zu preparieren :-). Bei dem zweiten beispiel ist es auch moglich eine makro mit dem event button_click verbeinden. Also versuch es mit der zweiten moglichkeit, obwohl ActiveX Controls sind neu und schon, wie man sagt :-). Mfg.Dan.
'--------------------------------------------------------------

Option Explicit

Private Sub Insert_ActiveXControl()
Dim ShActive As Worksheet
Dim myOLE As OLEObject

Set ShActive = ActiveSheet

'in Excel sind die ActiveX controls in OLEObjects collection
'OLEObject kann alles mogliche sein, z.B ein Word Documnet
'Type is mit ClassType bestimmt, z.B. ClassType:="Word.Document"
'liste der Typen kann man im help unter "OLE Programmatic Identifiers" finden
'manual zugeben mit Toolbar "Control Toolbox", es sind die selben control, wie bei UserForm,
'nur mit einigen zusatslichen properties wie LinkedCell usw.

'add OLE, ClassType Button
Set myOLE = ShActive.OLEObjects.Add( _
ClassType:="Forms.CommandButton.1", _
Link:=False, _
DisplayAsIcon:=False, _
Left:=10, _
Top:=10, _
Width:=80, _
Height:=50)


'Name, Width usw. andern
With myOLE
MsgBox "OLE Object" & vbCrLf & _
"Name : " & .Name & " , Left : " & .Left & " , Top : " & .Top & _
" , Width : " & .Width & " , Height : " & .Height
.Name = "MyButton"
.Width = 180
.Height = 120
End With

'oder man kann den OLEObjects Collection Object benutzen, um an die einzellne OLEObjects zu kommen
With ShActive.OLEObjects("MyButton")
MsgBox "OLE Object II" & vbCrLf & _
"Name : " & .Name & " , Left : " & .Left & " , Top : " & .Top & _
" , Width : " & .Width & " , Height : " & .Height
End With

'control properties, welche sind nicht als properties des OLEObjects zu sehen
'kann man durch die "Object" property bearbeiten
With myOLE.Object
.Caption = "Button As ActiveX Control"
End With

'OLEObject loschen
myOLE.Delete

End Sub

Private Sub Insert_ExcelControl()
Dim Mycmd As Button

'Excel Controls sind Hidden Objects, und es ist ein Rudiment der altern versionen
'laut help man sollte die ActiveX ctl. benutzen :-0
'(manual zugeben am Toolbar "Forms")

'button add, man kann gleich den button verandern
Set Mycmd = ActiveSheet.Buttons.Add(45.75, 285.75, 224.25, 75.75)

With Mycmd
.Caption = "Button As Excel Control"

MsgBox .Caption & vbCrLf & "Left : " & .Left & " , Top : " & .Top & _
" , Width : " & .Width & " , Height : " & .Height

'oder man kann auch spater die masse andern
.Width = 50
.Height = 50
.Top = 50
.Left = 20

MsgBox "Nach der Veranderung : " & vbCrLf & .Caption & vbCrLf & _
"Left : " & .Left & " , Top : " & .Top & _
" , Width : " & .Width & " , Height : " & .Height
End With

'hier kann man dem button eine makro zuweissen, das fur den Druck verantwortlich sein wird
Mycmd.Select
Selection.OnAction = "SheetEtwas.xls!MakroName"

'button wieder loschen
'Mycmd.Delete
End Sub



Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige