Meine Gedanken dazu:
Dim wsk As Worksheet
'Achtung: Integer bei Anzahl Zeilen > 32.767 führt zu einem Laufzeitfehler
'Hier wird i als Variant und nicht als Integer deklariert
Dim i, newrow As Integer
'Empfehlung: Bleibe einer Nameskonvention treu um die Lesbarkeit des Codes zu vereinfachen
'Stichwort Ungarische Notation
'Bspw: 'sVariableName - > s kennezeichnet als Datentyp String
'Rng_Such wird hier als Variant deklariert
Dim Rng_Such, Rng_Verkauf As String
Dim finden As Range
'Vorschlag:
Dim wks as Worksheet
Dim lngLastRow as long, lngNewRow as Long
Dim sSuchRng as String, sVerkaufRng as String
'Hinweis an der Stelle:
'Du kannst auch Typenzeichen bei der Variablendeklaration verwenden, dass erspart Dir zwar Zeilen, macht das ganze aber anstrengende zu lesen.Deshalb Davon würde ich davon abraten.
'Angesprochen möchte ich es aber dennoch haben
'Beispiel für String
Dim sSuchRng$ ' Link: https://docs.microsoft.com/de-de/dotnet/visual-basic/programming-guide/language-features/data-types/type-characters
'Beispiel Long:
Dim lngLastRow&
'Abschließender Hinweis:
'Deine erste Zeile sollte stets beginnen mit:
Option Explicit
'Somit wird dir Variablendeklaration erzwungen und der Compiler würde dich darauf hinweisen, dass die Variable 'Verkauf' nicht deklariert wurde.
'Ohne Option Explicit, wurde 'Verkauf' nun als Variant deklariert. Dieser Datentyp reserviert am meisten Arbeitsspeicher von allen Datentypen.
'Ich weiß, RAM ist heutzutage nichtmehr allzu teuer -> trotzdem sollte es angesprochen werden ;)
Lange Rede kurzer Sinn:
Funktioniert Dein Code wie Du es brauchst?
|