VBA – Programmierung mit Excel Grundlagen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Seite 102<br />
Dialoge (Teil II)<br />
Diese wiederum bereitet das Datenblatt der Rechnung ( Rdaten ) vor, trägt darin Formate<br />
und Formeln für die Berechnungen ein:<br />
Private Sub cmdEingabe_Click()<br />
Application.ScreenUpdating = False<br />
Worksheets("RDaten").Activate<br />
ActiveWindow.DisplayZeros = False<br />
Worksheets("RDaten").Range("B2:B13").Style = "Currency"<br />
With Worksheets("RDaten").Range("C2:C12")<br />
.Formula = "=B2+B2*$B$15/100"<br />
.Style = "Currency"<br />
End With<br />
Worksheets("RDaten").Range("A2").Select<br />
Application.DisplayAlerts = False<br />
ActiveSheet.ShowDataForm<br />
Application.DisplayAlerts = True<br />
Worksheets("RDaten").Range("C15").Formula = "=sum(C2:C12)*$B$15/100"<br />
Worksheets("RDaten").Range("C16").Formula = "=sum(C2:C12)"<br />
Worksheets("RDaten").Range("C2:C12").Select<br />
For Each Zelle In Selection<br />
If Zelle.Value = 0 Then<br />
Zelle.Value = ""<br />
End If<br />
Next<br />
Application.ScreenUpdating = True<br />
Worksheets("Eingangsblatt").Activate<br />
Anfang.cmdKorrektur.Enabled = True<br />
Anfang.cmdLöschen.Enabled = True<br />
End Sub<br />
Nach der Aufbereitung des Tabellenblattes wird die interne EXCEL <strong>–</strong> Datenmaske für die<br />
Datenerfassung aufgerufen. Eventuelle System <strong>–</strong> Fehlermeldungen werden unterdrückt<br />
(DISPLAYALERTS = FALSE / TRUE).<br />
Da<strong>mit</strong> der Wechsel des Arbeitsblattes und die Arbeitsvorgänge im Blatt nicht sichtbar werden,<br />
wird über SCREENUPDATING = FALSE / TRUE die Bildschirmaktualisierung abgeschaltet<br />
und später wieder aktiviert.<br />
Die Aktivierung des Eingangsblates (incl. Schaltflächen für Datenkorrektur und Löschen)<br />
werden die Daten des Datenblattes in das Textfeld rechts im Eingangsblatt übernommen<br />
(das Feld ist beim Aufbau des Formularblattes über die Eigenschaft LISTFILLRANGE <strong>mit</strong> dem<br />
entsprechenden Bereich der Tabelle verknüpft).<br />
Für die Datenkorrektur wird ein eigenes Blatt angelegt und Korrektur genannt. In dieses Blatt<br />
wird der Inhalt des Datenblattes übertragen, das Hilfsgitter sowie Zeilen- und<br />
Spaltennumerierung werden ausgeblendet. Die nicht ausgefüllten Bereiche sowie<br />
Formelzellen werden er<strong>mit</strong>telt und gelöscht.<br />
Für die Datenkorrektur wird wieder die interne Datenmaske eingeblendet.<br />
Nach der Korrektur werden die Daten in das Datenblatt übertragen und anschließend das<br />
nicht mehr benötigte Korrekturblatt gelöscht und das Eingangsblatt aktiviert.<br />
Das Datenblatt wird „versteckt“.<br />
Der Aufruf des Eingangsblattes zieht die automatische Aktualisierung der im Textfeld dieses<br />
Blattes angezeigten Rechnungsdaten nach sich.