Excel-Tabellen in Word-Berichte einbetten

Als Controller kennst du diese Aufgabe bestimmt. In einem monatlichen Managementbericht, den du in MS Word erstellst, ist u.a. die Liquiditätsentwicklung des Unternehmens darzustellen.

Sinnvollerweise führst du die Liquiditätsentwicklung in MS Excel. Die Aufgabe besteht nun darin, die Excel-Tabelle in den Word-Bericht einzuarbeiten und beides zu verknüpfen.

„Excel-Tabellen in Word-Berichte einbetten“ weiterlesen

Bedingte Formatierung von Zellen, die enthalten

Das sich mit der bedingten Formatierung eine Menge Effekte in einer Excel-Arbeitsmappe erreichen lassen, hast du schon in mehreren Beiträgen sehen können.

Eine weitere Möglichkeit ist Gegenstand dieses Beitrages. Du kannst damit Zellinhalte formatieren, die bestimmte Eigenschaften haben oder bestimmte Werte beinhalten: Nur Zellen formatieren, die enthalten

„Bedingte Formatierung von Zellen, die enthalten“ weiterlesen

VBA-Methoden: Arbeitsblätter zählen, Anzahl festlegen

Wie viele Arbeitsblätter hat eine Arbeitsmappe?

Befindest du dich in einer geöffneten Arbeitsmappe, kannst du das sofort sehen, wenn sich die Anzahl auf ein überschaubares Maß beschränkt.

Geht es aber um 95 oder 134 Arbeitsblätter, müsstest du zählen.

Das aber kannst du auch durch ein kleines Makro erledigen lassen.

Sub ArbBlattZählen1()
Dim intZahl As Integer
intZahl=ActiveWorkbook.Sheets.Count
MsgBox intZahl
End Sub

So sieht die Antwort aus. Bestätige sie mit „OK“.

Nichtnumerisch34

Lässt sich die Anzahl der Arbeitsblätter für eine andere, geöffnete, Mappe ermitteln?

Sub ArbBlattZählen2()
Dim intZahl As Integer
Workbooks(„VBA_Datei öffnen.xlsm“).Activate
intZahl=ActiveWorkbook.Sheets.Count
MsgBox intZahl
End Sub

Hier gibt die MsgBox z.B. die Anzahl „3“ zurück.

Nun fragst du dich, ob du diese Abfrage auch an eine geschlossene Datei richten kannst.

Nachfolgendes Makro verwendet die GetObject-Funktion, die ich hier nicht weiter erläutere. Nur soviel, GetObject wird für den Zugriff auf ein ActiveX-Object verwendet. Mit der Set-Anweisung wird dem Objekt die Objektvariable zugewiesen.

Sub ArbBlattZählen3()
Dim intZahl As Integer
Dim wb As Workbook
Set wb=GetObject(„C:\Excel\VBA\VBA_Arbeitsblätter Anzahl.xlsm“)
intZahl=wb.Sheets.Count
MsgBox intZahl
End Sub

Die MsgBox gibt hier die Anzahl „5“ zurück.

Anzahl Arbeitsblätter festlegen

Eine neue Excel-Arbeitsmappe enthält standardmäßig drei Arbeitsblätter. Dies ist in den Excel-Optionen unter „Allgemein“ so eingestellt.

Wenn du aber eine neue Mappe haben willst, die 12 Arbeitsblätter enthält, kannst du das mit einem Makro erledigen lassen.

Du fragst dazu zuerst die hinterlegte Anzahl der Arbeitsblätter für neue Arbeitsmappen ab.

Dim intBlatt As Integer
intBlatt=Application.SheetsInNewWorkbook

Dann legst du die Anzahl der Blätter für deine neue Mappe fest, in diesem Fall sollen es 12 sein.

Application.SheetsInNewWorkbook=12

Jetzt legst du eine neue Mappe an und gibst ihr einen Namen. Wie das geht, habe ich in meinem Beitrag „VBA-Methoden: Eine Datei neu erstellen und speichern als“ beschrieben:

Workbooks.Add
ActiveWorkbook.SaveAs Filename:=“C:\Excel\VBA\VBA_NeuDatei.xlsx“

Den Ablageort gibst du mit der Pfadangabe gleich mit an.

Du hast jetzt eine neue Arbeitsmappe mit 12 Arbeitsblättern.

Nun solltest du die Einstellung für die Anzahl der Blätter wieder auf den Standard setzen und die Datei speichern und schließen.

Application.SheetsInNewWorkbook=intBlatt
ActiveWorkbook.Save
ActiveWorkbook.Close

Das Makro gesamt:

Sub ArbBlätter()
Dim intBlatt As Integer
intBlatt=Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook=12
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=“C:\Excel\VBA\VBA_NeuDatei.xlsx“
Application.SheetsInNewWorkbook=intBlatt
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

Natürlich kannst du den 12 Arbeitsblättern in deiner neuen Mappe gleich noch neue Namen geben, z.B.“Januar“ bis „Dezember“.

Füge dazu im einfachsten Weg diese Codezeilen in dein Makro vor den Anweisungen .Save und .Close ein:

ActiveWorkbook.Sheets(1).Name=“Januar“
ActiveWorkbook.Sheets(2).Name=“Februar“

usw. bis „Dezember“.

Summe unter Bedingungen bei nichtnumerischen Werten

Einleitung

Angeregt durch die Anfrage eines Lesers, die ich zunächst nicht beantworten konnte, ist dieser Beitrag entstanden.

In der Anfrage ging es darum, Flugzeiten zu addieren, wenn zwei Bedingungen in einer anderen Spalte eingehalten werden. Das Problem war, dass die Spalte mit den Flugzeiten auch nichtnumerische Werte enthalten sollten, z.B. in Klammern gesetzt oder mit Buchstaben versehen.

(4:00)

4:00 xz

Der Leser wollte das Problem mit der Funktion SUMMENPRODUKT lösen, hatte aber keinen Erfolg damit.

„Summe unter Bedingungen bei nichtnumerischen Werten“ weiterlesen

VBA-Methoden: Arbeitsblätter, Druckvorschau und Drucken

Jeder, der am Computer mit Excel arbeitet, wird hin und wieder Ausdrucke ganzer Arbeitsblätter oder eines definierten Druckbereichs vornehmen.

In der Regel wird dem Druck eine Druckvorschau vorangehen.

Dieser Beitrag zeigt, wie mit einem Makro Druckvorschau und Drucken auf unterschiedliche Weise erledigt werden kann.

„VBA-Methoden: Arbeitsblätter, Druckvorschau und Drucken“ weiterlesen
WordPress Cookie Plugin von Real Cookie Banner