Microsoft Office Tutorials and References
In Depth Information
4.2 Operative Instrumente
Die Schaltfläche Formular auswerten startet ein Makro, das den
bekannten Dateidialog zum Öffnen einer Datei präsentiert. Suchen
Sie eine Datei, die mit »Projekt GWA« beginnt, und öffnen Sie diese.
Nach einer Sicherungsmeldung kann die Datei ausgewertet werden,
das Makro holt die Daten aus dem Formular und schreibt sie in
das Auswertungsblatt. Dabei wird auch eine Formel mit einer
SVERWEIS()-Funktion kreiert, die den Stundensatz aus der Personal-
tabelle holt um die Kosten der Tätigkeiten zu berechnen.
Listing 4.6: VBA-Makro zur Auswertung gespeicherter Tätigkeitsanalyse-Formulare
Sub FormularAuswerten()
Dim varFile, lastAction, nextAction, strMitarbeiter As String
Dim strAbteilung As String, shAuswertung As Worksheet, i As Integer
Dim okMsg
Set shAuswertung = ThisWorkbook.Sheets("Auswertung Tätigkeitsanalyse")
' Dateiliste öffnen
varFile = Application.GetOpenFilename("Microsoft Excel (*.xls), *.xls")
If varFile = False Then Exit Sub
' Fragebogendatei aktivieren
Workbooks.Open varFile
strMitarbeiter = Range("E2")
strAbteilung = Range("E3")
okMsg = MsgBox("Fragebogen von " & strMitarbeiter & " auswerten?", vbYesNo +
vbQuestion, "Projekt GWA")
If okMsg = vbNo Then
ActiveWorkbook.Close
Exit Sub
End If
' Daten auslesen und in Tätigkeitsauswertung schreiben
With ActiveSheet
lastAction = .Range("B65000").End(xlUp).Row
If lastAction = 11 Then
MsgBox "Keine Auswertungsdaten im Formular", vbCritical, "Projekt GWA"
Exit Sub
End If
For i = 12 To lastAction
nextAction = shAuswertung.Range("B65000").End(xlUp).Row + 1
shAuswertung.Cells(nextAction, 1) = strMitarbeiter
shAuswertung.Cells(nextAction, 2) = strAbteilung
shAuswertung.Cells(nextAction, 3) = .Cells(i, 2)
shAuswertung.Cells(nextAction, 4) = .Cells(i, 3)
shAuswertung.Cells(nextAction, 5) = .Cells(i, 4)
shAuswertung.Cells(nextAction, 7) = .Cells(i, 5)
' SVerweisformel für die Kosten
shAuswertung.Cells(nextAction, 6) = _
"=VLOOKUP(RC1,Personaldatenbank,5,0)*RC[-1]"
Next i
Search JabSto ::




Custom Search