VBA Befehle

Werbung
Befehle VBA
""
2 Beispiele für eine Function welche
genaus das selbe bewirken
File: VBA Programmieren
5.11.2002.xls
Es wird 1 x ein " angezeigt
Public Function Provision2(Wert1 As Double, Wert2 As
Double)
If Wert1 > 19 Then GoTo Message
If (Wert1 < 10) And (Wert1 >= 0) Then Provision2 = Wert1 *
Wert2 * 1
If (Wert1 < 20) And (Wert1 >= 10) Then Provision2 = Wert1
* Wert2 * 2
Exit Function
Message:
MsgBox "Schlechte Provision"
End Function
*************************************************
Public Function Provision3(Wert1 As Double, Wert2 As
Double)
Select Case Wert1
Case Is < 10
Provision3 = Wert1 * Wert2 * 1
Case Is < 20
Provision3 = Wert1 * Wert2 * 2
Case Else
GoTo Message
End Select
Exit Function
Message:
MsgBox "Schlechte Provision"
Anwendung Excel
Anwendung Word
Anwendungen bekannt machen
Array Datenfeld
Autostart Makro in Excel a)
Autostart Makro in Excel b)
End Function
Objektvariablen:
 Worksheet
Documents.open "……"
Documents.add "……"
Documents.close "……"
Objektvariablen:
 Document
 Paragraph
 Sentences
Extras -- Verweise -- Anwendung auswählen
Dim x(5,2)
Die Prozeduren haben bestimmte Namen:
Auto_Open
Before_Close
Private Sub Workbook_Open()
Anwendername = InputBox("Bitte geben Sie Ihren Vornamen
ein!")
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
68636913
Seite 1 von 5
Befehle VBA
Autostart Makro in Word a)
Autostart Makro in Word b)
MsgBox "Auf wiedersehen " & Anwendername
End Sub
Es gibt zwei Arten, um Makros automatisch zu starten
a)
Indem die Prozeduren bestimmte Namen haben,
sogenannte Automakros
Autoexec
Autonew
Autoopen
AutoClose
Autoexit
b)
Als Ereignisprozeduren der Objekte Application und
ThisDocument
Ereignisse des Application-Objekts:
Bei aktuellem Curserstand schreiben
Bereich wählen
Deklarieren von Konstanten
Deklarieren von Variablen
Variable Resultat als Variable
deklarieren als Datentyp Double
Enlade mich aus dem Speicher
Ersetzen
Fehlerbehandlung
DocumentBeforeClose
DocumentBeforePrint
DocumentBeforeSave
DocumentChange
DocumentOpen
NewDocument
Quit
WindowActivate
WindowBeforeDoubleClick
WindowBeforeRightClick
WindowDeactivate
WindowSelectionChange
Selection.TypeText
Range("A1:z400").Select
Ereignisse des
DocumentObjekts:
Close
New
Open
Range("A1").Select
In dem folgenden Beispiel wird die Public-Konstante conAlter
als Integer deklariert und ihr der Wert 34 zugewiesen.
Public Const conAlter As Integer = 34
Dim Resultat As Double
Static Resultat As Double
(Erinnern sich beim nächsten Schlaufendurchlauf an den
Variablenwert)
Unload Me
Selection.Replace What:="eee", Replacement:="é",
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
On Error GoTo Fehler
Fehler:
MsgBox "Sie haben keine gültige Zahl eingegeben."
Resume
Fehlerbehandlung danach
zurück zum Fehlerort
Initilalisiert das Formular beim Start mit Private Sub UserForm_Initialize()
dem Textfeld MWST und folgendem
txtMWST.Text = "7.60"
68636913
Seite 2 von 5
Befehle VBA
Wert 7.60
InputBox
InStr
LCase
Linke oder Rechte Zeichen ausgeben
Left oder Right
End sub
Alter = InputBox(Prompt:="Alter eingeben:", _
Title:="Dauer bis zur Rente")
In String suchen
macht alles kleine Buchstaben
On Error GoTo Ende
Dim Text As String
Dim Anzahl As Integer
Text = InputBox("Geben Sie irgeneinen Text ein.")
Anzahl = InputBox("Er wird auf diese Anzahl Zeichen
gekürzt")
MsgBox prompt:=Left(Text, Anzahl),
buttons:=vbInformation, Title:="Es werden die Anzahl Zeichen
ausgegeben"
Ende:
Mittlere Zeichen ausgeben
On Error GoTo Ende
Dim Text As String
Dim Anzahl As Integer
Text = InputBox("Geben Sie irgeneinen Text ein.")
Anzahl = InputBox("Er wird auf diese Anzahl Zeichen
Die Zahl 5 ist Anzahl der Zeichen
Die Variable Anzahl heisst ab welchem
Buchstaben der Text ausgegeben wird.
gekürzt")
MsgBox prompt:=Mid(Text, Anzahl, 5),
buttons:=vbInformation, Title:="Es werden die Anzahl Zeichen
ausgegeben"
MsgBox
Ende:
Dim wahl As Integer
wahl = MsgBox("Betätigen Sie eine Taste !", vbYesNoCancel)
If wahl = vbYes Then
---------------------------------------------------------------------------
MsgBox (Befehl)
MsgBox (Bei leerer)
MsgBox (Funktion)
MsgBox Rückgabewert
68636913
MsgBox Title:="Info zum Rentenalter", _
Buttons:=vbInformation, _
Prompt:="Sie müssen noch " & RestJahre & _
" Jahre bis zur Rente arbeiten!"
Meldung ausgeben (ohne Klammern)
Dim Antwort As String
Antwort = InputBox(Prompt:="Wie heissen Sie?")
If Antwort = Empty Then
MsgBox Prompt:="Sie haben keinen Namen eingegeben."
Else
MsgBox Prompt:="Ihr Name lautet " & Antwort
End If
If MsgBox (".......", vbyesno) = vbyes then (mit Klammern)
Dim Antwort As Integer
MsgBox prompt:="Es werden die deutschen Zeichen aaa
durch á ersetzt.", _
Buttons:=vbInformation, Title:="In den Zellen A1 bis Z
400 ersetzen !!!"
Seite 3 von 5
Befehle VBA
MsgBox Rückwerte ausgeben
MsgBox-Konstanten
Antwort = MsgBox("Sind sie einverstanden ?",
Buttons:=vbYesNo)
If Antwort = vbYes Then
GoTo Yes
ElseIf Antwort = vbNo Then
GoTo No
End If
Dim a
a = MsgBox("Es werden nun Ihre gewählten Buttons Rückwerte
ausgeben", Title:="sdfs", buttons:=vbYesNoCancel)
MsgBox a
vbOKOnly
0
Nur Schaltfläche OK
(Voreinstellung)
vbOKCancel
1
Schaltflächen OK und
Abbrechen
vbAbortRetryIgnore 2
Prozedur aufrufen
Prozedur mit Word bekannt machen
> veröffentlichen
Set
Textmarken
Übergiebt Zahlenwert des Textfeldes
Brutto
UCase
Val
Wdselection
Werte einfügen mit Range und Cells
ZeilenHöhe
68636913
Schaltflächen Abbruch,
Wiederholen und Ignorieren
vbYesNoCancel
3
Schaltflächen Ja, Nein und
Abbrechen
vbYesNo
4
Schaltflächen Ja und Nein
vbRetryCancel
5
Schaltflächen Wiederholen und
Abbrechen
Call
Public Sub MWST_Rechner()
Load frmMWST_Rechner
frmMWST_Rechner.Show
End Sub
Objektvariablen abfüllen
\line
\section
 Absatz
Resultat = Val(txtBrutto.Text)
macht alles grosse Buchstaben
val("2 Seiten")
'Liefert 2
Word Konstanten
wdSelectionShape
 Grafik markiert
wdSelectionInlineshape
 Cliparts markiert
wdSelectionNormal
 Wörter markiert
wdSelectionIP
 Nichts markiert
Range("Weihnachtsgeld").Value = 800
Cells(3, 6).Value = 300
Range("f2,f4:f10,f16:f19").Value = 400
Dim rCM
rCM = InputBox("Bitte die gewünschte Zeilenhöhe in cm
angeben:")
If rCM = "" Then Exit Sub
Selection.RowHeight = rCM / 0.035
Seite 4 von 5
Befehle VBA
68636913
Seite 5 von 5
Herunterladen