Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Variablen definieren





Frage

Hallo zusammen, nachdem ich gestern schon super Hilfe bekommen hab, hier gleich nochmal eine Frage: Ich hab ein Macro, dass im Wesentlichen daraus besteht, dass es viele kleine Macros aufruft und ausfuehrt. Mein Problem ist jetzt folgendes: In sieben dieser kleinen Macros definiere ich Variablen, die von meiner Datei, die ich eingebe abhaengt. Da dieses Macro auf verschiedene Dateien in Zukunft angewendet werden soll, war meine Idee, dass der Anweder nur noch die Information eingibt und dann das Macro laufen laesst. Am einfachsten erschien mir das, die Variablen aus den kleinen Macros rauszunehmen und in das zusammenfassende macro ganz an den Anfang zu setzten und gleich dort auch zu bestimmen. Mit dieser Aenderung laeuft mein Macro jetzt aber nimmer. Weiss jemand, wie ich das anders regeln kann. Gibt es vieleicht sogar ein Macro, was zu beginn die benoetigten Daten abfragt und dann an die richtige Stelle in den richten macros einfuegt? Im Anschluss seht ihr das zusammenfassende Macro. Zuerst die Variablen, die ich definiert hab, dann die einzelnen aufrufe. Die eingerueckten Aufrufe, sind die, in denen die Variablen benutzt werden. Vielen Dank schonmal in vorraus!!!! Sub aaxray() Application.ScreenUpdating = False Dim FirstMonth As Integer Dim FirstYear As Integer Dim LastMonth As Integer Dim LastYear As Integer Dim FirstMonthSub As Integer Dim FirstYearSub As Integer Dim ActualMonthSub As Integer Dim ActualYearSub As Integer Dim Sub1 As String Dim Sub2 As String ´Change the following numbers FirstMonth = 7 FirstYear = 2005 LastMonth = 6 LastYear = 2006 FirstMonthSub = 2 FirstYearSub = 2005 ActualMonthSub = 7 ActualYearSub = 2006 CountSub = 18 Sub1 = "Sub2005-02" Sub2 = "Sub2005-07" Call ersterRun Call VollstaendigSub Call VollstaendigMonth Call VollstaendigMonth2 Call VollstaendigMonth3 Call Spalten4 Call zweiterRun Call VollstaendigSuba Call VollstaendigSub2a Call VollstaendigSub3a Call Spalten3 Call VollstaendigMonth Call VollstaendigMonth2 Call VollstaendigMonth3 Call Spalten4 Call six Call samplesheet Call eliminateSamples Call pivotVertical Call pivotTransversal Call Transversal Call Vertical Call Monthly Call Summary Call VSummary Call TSummary Call total Call Finish Call pivotChart Call Chart Call Last Call SkuMix End Sub

Antwort 1 von nighty

hi henrike :)

deine variablen sind local,gebe sie global an :)

gruss nighty

beispiel

deine deklaration
Dim FirstMonth As Integer

geänderte deklaration
global FirstMonth As Integer

gruss nighty

Antwort 2 von Henrike

Ich muss leider nochmal bloed nachfragen: Ich hab jetzt alle Variablen mit "Global" deklariert, satt mit "Dim",

bekomm jetzt aber eine Fehlermeldung:

Compile error:
Invalid attribute in sub or function

Antwort 3 von nighty

hi henrike :)

globale anweisungen werden ausserhalb eines makros angegeben in einem allgemeinen modul

gruss nighty

Antwort 4 von Henrike

Vielen, vielen Dank, jetzt hat´s geklappt!!!!

Antwort 5 von Henrike

jetzt hab ich allerdings noch eine Folgefrage:

Ich hab jetzt in das ganze noch inputboxen eingebaut.
Allerdings werden dadurch Strings festgelegt. Gibts auch ne moeglichkeit den Inhalt solcher Inputboxen als Integer zu deklarieren?