bei einer Datei von mir benötige ich eure Hilfe.
Zur Erklärung:
Ich habe einen Hauptcode, indem ich alle weiteren Subs aufrufe. In so einem Code wird eine Excel geöffnet und ein bestimmter Bereich in meine Datei kopiert. Anhand von Formeln etc. wird eine Berechnung durchgeführt und das Ergebnis in einer bestimmten Range angezeigt. Diese Range kopiere ich jetzt in einen Übersichtsreiter. Das ganze mache ich mehrere male mit verschiedenen Code. Funktioniert auch einwandfrei. Ich möchte jetzt den Rechenlast (wenn es überhaupt was bringt) aber auch den Pflegeaufwand minimieren.
Wie bekomme ich es hin, dass mein Programm nicht in jeder Code sich die Range markiert, kopiert und in der Übersicht einfügt. Ich würde gerne, dass es die Range jeweils als Variable speichert und am Ende einmal die ganzen an die richtige Stelle einfügt.
Ich habe es bereits versucht, allerdings übernimmt er bei mir mit der Range nur den ersten Wert und nicht die restlichen.
Wird die ganze Prozedur dadurch überhaupt schneller?
Kann man diese Variante auch beim Öffnen der anderen Excel verwenden, damit es schneller geht?
Vielen Dank schon einmal
Public Claims, Lager As Range
Sub Hauptcode()
Claims
Lager
End Sub
Sub Claims()
' ...hier wird die andere Datei geöffnet Bereich markiert und kopiert sowie ausgewertet
Claims = Sheet17.Range("Y2:AB2").Value
Name = Sheet5.Range("U12").Value
With Worksheets("Auswertung")
Set Treffer = Sheet1.Range("A2:A400").Find(What:=Name, LookIn:=xlValues, LookAt:= _
xlWhole)
Y = Treffer.Row
.Range("G" & Y).Value = Claims
End With
End Sub
Sub Lager()
' ...hier wird die andere Datei geöffnet Bereich markiert und kopiert sowie ausgewertet
Lager = Sheet18.Range("Y2:AB2").Value
Name = Sheet5.Range("U12").Value
With Worksheets("Auswertung")
Set Treffer = Sheet1.Range("A2:A400").Find(What:=Name, LookIn:=xlValues, LookAt:= _
xlWhole)
Y = Treffer.Row
.Range("M" & Y).Value = Lager
End With
End Sub
Wunsch:
Sub Hauptcode()
Claims
Lager
Übersicht
End Sub
Sub Claims()
' ...hier wird die andere Datei geöffnet Bereich markiert und kopiert sowie ausgewertet
Claims = Sheet17.Range("Y2:AB2").Value
End Sub
Sub Lager()
' ...hier wird die andere Datei geöffnet Bereich markiert und kopiert sowie ausgewertet
Lager = Sheet18.Range("Y2:AB2").Value
End Sub
Sub Übersicht()
Name = Sheet5.Range("U12").Value
With Worksheets("Auswertung")
Set Treffer = Sheet1.Range("A2:A400").Find(What:=Name, LookIn:=xlValues, LookAt:= _
xlWhole)
Y = Treffer.Row
.Range("M" & Y).Value = Lager
.Range("G" & Y).Value = Claims
End With
End Sub