Was ist im Excel-Makro bei einer For-Schleife besser: Dim as Integer oder Dim as Long?

Antwort

In Excel-Makros (VBA) ist es besser, Schleifenvariablen mit `Dim ... As Long` zu deklarieren statt mit `Dim ... As Integer`. Der Grund: In VBA werden alle Integer-Werte intern trotzdem als Long behandelt, da VBA auf 32-Bit-Architektur basiert. Die Verwendung von `Long` vermeidet unnötige Typumwandlungen und ist daher effizienter und sicherer, besonders bei größeren Schleifenbereichen (über 32.767 hinaus). Zusammengefasst: **`Dim i As Long` ist die empfohlene Wahl für For-Schleifen in VBA.** Weitere Infos: [Microsoft Docs: Integer-Datentyp (VBA)](https://learn.microsoft.com/de-de/office/vba/language/reference/user-interface-help/integer-data-type) [Microsoft Docs: Long-Datentyp (VBA)](https://learn.microsoft.com/de-de/office/vba/language/reference/user-interface-help/long-data-type)

Kategorie: Programmierung Tags: Excel Makro Long
KI fragen

Verwandte Fragen

Wie kann man per PowerShell eine Excel-Spalte anhand des Zellinhaltes identifizieren?

Um in PowerShell eine Excel-Spalte anhand des Zellinhalts zu identifizieren, kannst du die COM-Schnittstelle von Excel verwenden. Das folgende Beispiel zeigt, wie du eine Excel-Datei öffnest, ein... [mehr]

Wie kann man per VBA-Makro beim Öffnen einer Datei das Kontextmenü der rechten Maustaste deaktivieren?

Um beim Öffnen einer Excel-Datei per VBA-Makro die Kontextmenüs der rechten Maustaste zu deaktivieren, kannst du folgenden Code im Modul "DieseArbeitsmappe" (engl. "ThisWorkbo... [mehr]

Wie kann man in PowerShell Spaltennamen einer Excel-Datei als Variablen für die Weiterverarbeitung verwenden?

Um in PowerShell die mit Titeln versehenen Spalten einer Excel-Datei als Variablen zu verwenden, kannst du das Modul **ImportExcel** nutzen. Damit kannst du Excel-Dateien direkt einlesen und die Spalt... [mehr]

Ist der Code wert = Range("Ergebnisse[Gab Bauteil lang]").Value in VBA fehlerfrei?

Der Code `wert = Range("Ergebnisse[Gab Bauteil lang]").Value` ist in VBA **nicht fehlerfrei**, wenn du auf eine Excel-Tabelle mit strukturierten Verweisen (Tabellenreferenzen) zugreifen m&ou... [mehr]

Kann man Private Sub Workbook_SheetBeforeRightClick in Private Sub Workbook_Open integrieren?

Nein, das ist nicht möglich. In VBA (Visual Basic for Applications) sind `Workbook_Open` und `Workbook_SheetBeforeRightClick` zwei eigenständige Ereignisprozeduren (Event Handler), die jewei... [mehr]

Gibt es If Not (Bedingung) Then in VBA für Excel?

Ja, in VBA für Excel gibt es die Möglichkeit, eine Bedingung mit **If Not (Bedingung) Then** zu prüfen. Das Schlüsselwort **Not** kehrt die Bedingung um. Hier ein Beispiel: ```vba... [mehr]

Ist 'Range(Cells(a,10):Cells(b,10)).Copy' im VBA-Code korrekt?

Die Syntax `Range(Cells(a,10):Cells(b,10)).Copy` ist in VBA (Visual Basic for Applications) **nicht korrekt**. In VBA muss der Bereich innerhalb der `Range`-Funktion als String oder als zwei separate... [mehr]

Wie kann ich mit einem VBA-Makro die Zeilen 8 bis 10 ausblenden?

Um in Excel mit einem VBA-Makro die Zeilen 8 bis 10 auszublenden, kannst du folgenden Code verwenden: ```vba Rows("8:10").Hidden = True ``` So gehst du vor: 1. Drücke `ALT + F11`, um... [mehr]

Wie kann ich mit VBA den Bereich 'Test' in Blatt 1 kopieren und in Blatt 2 ab Zelle B18 einfügen?

Um in Excel mit VBA einen Bereich namens "test" aus Blatt 1 zu kopieren und in Blatt 2 ab Zelle B18 einzufügen, kannst du folgenden VBA-Code verwenden: ```vba Sub BereichKopieren()... [mehr]

Wie kann man aus makro1() den Makro makro2() mit dem Wert 5 aufrufen?

Um aus der Prozedur `makro1()` die Prozedur `makro2()` aufzurufen und dabei den Wert 5 zu übergeben, muss `makro2()` einen Parameter akzeptieren. Hier ein Beispiel in VBA (Visual Basic for Applic... [mehr]