MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

 
Ads
Themen-Optionen Ansicht
Alt 31.08.2017, 13:19   #1
Raphael-2017
Neuer Benutzer
Neuer Benutzer
Standard Excel 2013 - Variablen füllen und Global nutzen

Hallo zusammen,

wieder einmal wende ich mich mit einer bitte um Hilfe an Euch!

Mein kleines Projekt soll nun Abteilungsintern genutzt werden und weiter ausgebaut werden.
Nun möchte ich mir einiges an Tipparbeit sparen und auch meinen Code optimieren.

Jetzt zum Problem:
bisher habe ich für jede Funktion meine Variablen Deklariert und dann mit Dateien aus einem Excelsheet befüllt.
Jetzt würde ich gerne diese Variablen in (vorerst) nur diesem Modul für alle Funktionen nutzen!

Bisher habe ich eine Zelle in der Zeile markiert aus welcher ich die Daten benötige und dann mit VBA die benötigten Zellen ausgelesen und an die Variablen übergeben. So weit so gut.

Wie kann ich nun die Variablen befüllen und im Modul bekannt geben?

Hier eine Beispiel Funktion:
Code:

Public Function Mat_vobe_Deckblatt()

    '*** Variablen Deklarieren ***
    Dim Adresse         As String
    Dim neueAdresse     As String
    Dim EQNR            As String
    Dim AENR            As String
    Dim RPAM            As String
    Dim RPAMK           As String
    Dim CCSNR()         As String
    Dim CCSNRO          As String
    Dim CCSNRNeu        As String
    Dim sNumber         As String
    Dim Kunde           As String
    Dim Liefertermin    As Date
    Dim Sachbearbeiter  As String
    
     '*** Aktive Zeile auslesen ***
    ThisWorkbook.Worksheets("CCS-2016").Activate
    Adresse = ActiveCell.AddressLocal(False, False)
    neueAdresse = Mid(Adresse, 2)
    
    '*** Variablen mit Daten befüllen ***
    'CCSNR = Range("E" & neueAdresse).Value
    AENR = Range("R" & neueAdresse).Value
    RPAM = Range("G" & neueAdresse).Value
    EQNR = Range("T" & neueAdresse).Value
    RPAM = Range("G" & neueAdresse).Value
    Kunde = Range("V" & neueAdresse).Value
    Liefertermin = Range("P" & neueAdresse).Value
    Sachbearbeiter = Range("AF" & neueAdresse).Value
    
    If EQNR = "Start" Then
    ElseIf EQNR = "io" Then
    ElseIf EQNR = "-" Then
    ElseIf EQNR = "" Then
    Else
        '*** Variablen bearbeiten ***
        '*** RPAM-Nr. bearbeiten ***
        CCSNRO = Range("E" & neueAdresse).Value
        '*** Prüfen ob der String ein "-" enthält ***
         If InStr(CCSNRO, "-") > 0 Then
            '*** Returns an array containing ***
            CCSNR() = Split(CCSNRO, "-")
            sNumber = CCSNR(1)
            ' führende Nullen entfernen
            CCSNR(1) = Format$(sNumber, "#")
            CCSNRNeu = CCSNR(0) & CCSNR(1)
         Else
            CCSNRNeu = CCSNRO
         End If
         
        '*** das jetzt benötigte Tabellenblatt wechseln ***
        ThisWorkbook.Worksheets("Mat-Vorbe").Activate
    
        '*** Daten eintragen für... ***
        '*** RPAM ***
        Range("G3") = RPAM
        '*** CCS-Nr ***
        Range("D3") = CCSNRNeu
        '*** AE-Nr ***
        Range("D7") = AENR
        '*** EQ-Nr ***
        Range("G7") = EQNR
        '*** Aufbau ***
        Range("D9") = Kunde
        '*** Liefertermin ***
        Range("D11") = Liefertermin
        '*** Sachbearbeiter ***
        Range("G11") = Sachbearbeiter
        
        '*** Tabelle Activieren ***
        ThisWorkbook.Worksheets("Mat-Vorbe").Activate
    
        '*** Zulieferer/Hersteller auswählen ***
        If Range("D9") = "intern" Then
            Range("G9") = "intern"
        ElseIf Range("D9") = "RS" Then
            Range("G9") = "Roland Schrade"
            Range("D9") = "intern"
        ElseIf Range("D9") = "Stoll" Then
            Range("G9") = "Beistellung/Ergänzung"
        ElseIf Range("D9") = "KSV" Then
            Range("G9") = "Ergänzung"
        Else: Range("G9") = ""
        End If
        
        '*** Tabelle ausdrucken ***
        ThisWorkbook.Worksheets("Mat-Vorbe").PrintOut
        
        '*** zurück zur CCS-2016 Tabelle ***
        ThisWorkbook.Worksheets("CCS-2016").Activate
        Range("C" & neueAdresse).Select
    End If
End Function
Vielen Dank für Eure Hilfe und Eure Mühe.

Gerne bin ich bereit dem Helfer eine Tüte Gummibären zukommen zu lassen oder aber eine Spende an die KinderKrebsStiftung in Tübingen zu tätigen.
Raphael-2017 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.