30.09.2013 Aufrufe

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!