VBA Excel – Per VBA ein Tabellenblatt sortieren

Meine VBA-Programme erzeugen komplexe Tabellen – der erste Schritt nach der Erzeugung ist jedoch oft das Aufbereiten der dargestellten Daten. Dazu gehört auch eine sinnvolle Sortierung. Um das den Mitarbeite nicht jedes Mal von hand machen zu lassen, habe ich eine VBA-Methode implementiert, welche konkret (hart codiert) die Spalten wie gewünscht sortiert:

'Standardsortierung: 1. Zielort, 2. Geplant
Sub sortDefault()
Const BEST_VOM_SPALTE As String = "B"
Const NOTIZEN_SERVICE_SPALTE As String = "AO"

Application.ScreenUpdating = False
   Columns(BEST_VOM_SPALTE & ":" & NOTIZEN_SERVICE_SPALTE).Sort key1:=Range(ZIELORT_SPALTE & "2"), _
      order1:=xlAscending, key2:=Range(BEI_DEPOT_SOLL_SPALTE & "2"), _
      order2:=xlAscending, Header:=xlYes

End Sub

VBA – Excel – Automatische Formelberechnung ein- und ausschalten

Bei komplexen Excel-Tabellen ist es oft nachteilig, wenn während des Schreibens von Daten in das Tabellenblatt die Datenberechnung aktiv ist. S-Verweise und andere Regeln werden mit jedem neuen Datensatz ausgeführt und verlangsamen den Generierungsprozess.

Excel bietet dafür an, die Formelberechnung einfach manuell zu deaktivieren:

Formelberechnung Ein- und Ausschalten

Um die Berechnung vor der automatischen Tabellenbefüllung mit VBA Ein- und Auszuschalten, gibt es ein einfaches Kommando in VBA:

' Einschalten der Formelberechnung

 Application.Calculation = xlCalculationAutomatic 

' Ausschalten der Formelberechnung

 Application.Calculation = xlCalculationManual 

VBA – Neue Email öffnen (nicht senden)

Um eine neue E-Mail zu erstellen aus Excel heraus, kann ein einfache OLE-Objekt erzeugt und angezeigt werden. Vielen Dank wie so oft an Herberts VBA Forum (Quelle)

Sub Mail(ByVal d As String)
    Dim olApp As Object
    Set olApp = CreateObject("Outlook.Application")
    With olApp.CreateItem(0)
        'Empfanger
        .Recipients.Add "empfaenger@domain.de"
        'Betreff
        .Subject = "Betreff der E-Mail"
        'Nachricht
        .Body = "Inhalt der E-Mail"
        'Lesebestätigung aus
        .ReadReceiptRequested = False
        'Anhang
        .Attachments.Add d
        .send

    End With
    Set olApp = Nothing
End Sub

VBA – Datum vergleichen – Tage zwischen zwei Datumsvariablen

Um Datum zu vergleichen, verwende ich bei VBA die Methode DateDiff, mit der ich mit der folgenden Syntax zwei Datumsvariablen vergleichen kann:

DateDiff(interval, date1, date2, [ firstdayofweek, [ firstweekofyear ]] ) 

Für Intervall wird im Excel-üblichen Format angegeben, welchen zeitintervall man haben möchte:

EinstellungBeschreibung
yyyyJahr
qQuartal
mMonat
yTag des Jahres
dTag
wWochentag
wwWoche
hStunde
nMinute
sZweiter

Mein Beispiel im Quelltext sieht so aus:

Dim dateDiffHersteller As Integer
' "d" steht für Intervall Tag
dateDiffHersteller = DateDiff("d", dateStart, dateEnd)

Quelle: https://docs.microsoft.com/de-de/office/vba/language/reference/user-interface-help/datediff-function

Acer Aspire H340 – HDD LEDs unter Linux verwenden (Ubuntu 24.04 LTSC)

Vor kurzem habe ich meinen alten Acer Aspire aus dem Vorruhestand geholt und nutze ihn als Nextcloud-Server. Um die Gesundheit der Festplatten zu überwachen, bestitzt der Aspire über Festplatten-LEDs, die je nach Gesundheitszustand der Festplatten die LED-Farbe von blau zu rot wechseln.

Acer Aspire H340

Zum Glück gibt es noch ein brauchbares Projekt, welches den Treiber installiert und einbindet:

Mediaserver Daemon auf github von „Oli“

Anleitung zur Einrichtung der LED- und Festplattengesundheitsüberwachung auf dem Acer H340 (Ubuntu 24.04)

Diese Anleitung beschreibt Schritt für Schritt, wie man die LEDs und die Festplattengesundheit auf einem Acer H340 Server unter Ubuntu 24.04 überwacht. Sie basiert auf dem mediasmartserverd-Projekt und erläutert die notwendigen Installationen und Einstellungen.

1. Prerequisites installieren

Stelle sicher, dass Dein System auf dem neuesten Stand ist und installiere die notwendigen Pakete:

sudo apt update
sudo apt install lm-sensors make g++ libstdc++-14-dev libudev-dev

2. Sensor-Module aktivieren und laden

Um die Sensoren korrekt nutzen zu können, füge die Kernel-Module hinzu. Ubuntu 24.04 verwendet das Verzeichnis /etc/modules-load.d/ statt der Datei /etc/modules. Erstelle eine Konfigurationsdatei:

sudo nano /etc/modules-load.d/sensors.conf

Füge in die Datei sensors.conf die folgenden Zeilen ein:

# Chip drivers
coretemp
dme1737

Lade die Module sofort, ohne das System neu zu starten:

sudo modprobe coretemp
sudo modprobe dme1737 force_id=0x7c

3. mediasmartserverd-Projekt herunterladen und kompilieren

Das mediasmartserverd-Projekt ist auf GitHub verfügbar. Klone das Projekt und kompiliere es:

git clone https://github.com/merelin/mediasmartserverd
cd mediasmartserverd
make

4. Die ausführbare Datei manuell kopieren

Da das Projekt kein Installationsziel enthält, kopiere die ausführbare Datei manuell:

sudo cp mediasmartserverd /usr/local/bin/

5. mediasmartserverd als Dienst einrichten

Erstelle eine systemd-Dienstdatei, damit der Dienst automatisch gestartet wird:

sudo nano /etc/systemd/system/mediasmartserverd.service

Füge den folgenden Inhalt in die Dienstdatei ein:

[Unit]
Description=Mediasmart Server Daemon
After=network.target

[Service]
ExecStart=/usr/local/bin/mediasmartserverd -D
Restart=always

[Install]
WantedBy=multi-user.target

Speichere die Datei und lade die Konfiguration neu, aktiviere und starte dann den Dienst:

sudo systemctl daemon-reload
sudo systemctl enable mediasmartserverd
sudo systemctl start mediasmartserverd

6. LEDs manuell steuern (optional)

Um die LEDs direkt zu steuern, kannst Du beispielsweise die Info-LED ausschalten:

echo 0 > /sys/class/leds/h340:InfoLedBlue/brightness

7. Festplattengesundheit und LEDs überprüfen

Nach der Einrichtung kannst Du mit sensors überprüfen, ob die Überwachung der Festplattengesundheit funktioniert. Die LEDs sollten den Status entsprechend anzeigen.

Mit dieser Anleitung sollte die LED- und Festplattenüberwachung auf Deinem Acer H340 wieder wie gewünscht funktionieren.