Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Public Sub - Dim as String

Public Sub - Dim as String
28.04.2017 13:51:15
TiloT

Modul1:
Public Sub Dateiname()
Dim myPfad As String
Dim myDateiname As String
myPfad = ActiveWorkbook.Path & "\"
myDateiname = "Daten.xlsm"
End Sub
Formel in Modul22 will nicht: 1004 Anwendung oder objektdefinierter Fehler!
Dies und Das
  • With Sheet("blabla")
    .Range("C2").Value = "=IFERROR(IF(ABS(VLOOKUP(RC[-2],'" & myPfad & "[" & myDateiname & "]_Auftrag'!C1:C9,3,0))>ABS(VLOOKUP(RC[-2],'" & myPfad & "[" & myDateiname & "]_Auftrag'!C1:C9,7,0)),VLOOKUP(RC[-2],'" & myPfad & "[" & myDateiname & "]_Auftrag'!C1:C9,2,0)&"" - ""&VLOOKUP(RC[-2],'" & myPfad & "[" & myDateiname & "]_Auftrag'!C1:C9,5,0),VLOOKUP(RC[-2],'" & myPfad & "[" & myDateiname & "]_Auftrag'!C1:C9,6,0))&"" - ""&VLOOKUP(RC[-2],'" & myPfad & "[" & myDateiname & "]_Auftrag'!C1:C9,9,0),"""")"
    End With

  • Wenn ich jetzt aber in Modul22 die Dim direkt eintrage dann geht's!?
    Kann mir eine sagen wie ich myPfad und myDateiname Public zur Verfügung stellen kann damit das geht ohne in jedem Modul die Dim eintztragen!?
    Danke und Gruß
    Tilo

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Public Sub - Dim as String
    28.04.2017 14:01:01
    ChrisL
    Hi Tilo
    Public Deklarationen stehen ausserhalb von der Prozedur
    Public myPfad As String
    Public myDateiname As String
    Public Sub Dateiname()
    myPfad = ActiveWorkbook.Path & "\"
    myDateiname = "Daten.xlsm"
    End Sub
    

    cu
    Chris
    AW: Public Sub - Dim as String
    28.04.2017 14:03:32
    ChrisL
    Hi Tilo
    Noch eine Ergänzung
    Sub test()
    End Sub
    
    und
    Public Sub test()
    End Sub
    
    ist genau das gleiche.
    Ohne besondere Angabe ist ein Sub immer Public (=Default). Ob eine Prozedur Public ist oder nicht, hat nichts mit den Variablen zu tun.
    cu
    Chris
    Anzeige
    Hallo Chris, vielen Dank für die Erklärung MfG owT
    28.04.2017 14:23:00
    TiloT
    .
    AW: Public Sub - Dim as String
    28.04.2017 14:25:16
    Daniel
    Hi
    kleiner Tip für's erstellen solcher Monsterformeln:
    1. schreibe die Formel erstmal in einen String.
    2. trage an den Stellen, an denen du eine Variabel einfügen willst, einen Dummy-Text ein, der so in der Formel nicht vorkommen kann.
    3. tausche mit der Replace-Funktion dann den Dummy-Text durch die Variable aus:
    FO = "=IFERROR(IF(ABS(VLOOKUP(RC[-2],'xxPfadxx[xxDateixx]_Auftrag'!C1:C9,3,0))>ABS...)"
    FO = Replace(FO, "xxPfadxx", myPfad)
    FO = Replace(FO, "xxDateixx", myDateiname)
    .Range("C2").FormuaR1C1 = FO
    
    der Formeltext wird so nicht durch die Verkettungen auseinander gerissen und das ganze bleibt übersichtlicher.
    und nochwas:
    wenn du die Formel mit R1C1-Zellbezügen erstellst, solltest das VBA auch mitteilen:
    Range("C2").FormulaR1C1 = ...
    wenn du die Formel in .Value schreibst, bin ich mir nicht sicher, ob das R1C1 erkannt wird.
    .Value verwendet normalerweise die A1-Schreibweise.
    Gruß Daniel
    Anzeige

    304 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige