Thema Datum  Von Nutzer Rating
Antwort
11.05.2019 19:01:34 terres
NotSolved
11.05.2019 19:12:08 Flotter Feger
NotSolved
11.05.2019 19:17:05 terres
NotSolved
11.05.2019 19:59:38 Gast43796
NotSolved
11.05.2019 20:02:27 Gast29528
NotSolved
11.05.2019 20:14:22 terres
NotSolved
11.05.2019 20:57:45 Flotter Feger
NotSolved
11.05.2019 22:59:05 terres
NotSolved
Rot ein set an "set"s global definieren
12.05.2019 06:53:38 Gast78414
NotSolved
12.05.2019 09:47:34 Gast88214
**
NotSolved

Ansicht des Beitrags:
Von:
Gast78414
Datum:
12.05.2019 06:53:38
Views:
464
Rating: Antwort:
  Ja
Thema:
ein set an "set"s global definieren

Mein lieber terres,

warum deklarierst du ein Worksheet-Objekt mit Public-Anweisung doppelt?
Es ist im Geltungsbereich deines VBA Projekts bereits öffentlich!

Um ein Sheet direkt anzusprechen ändere im Editor seinen Codenamen

Gleiches kannst du auch über eine Prozedur erledigen:

Sub Codenames()
Dim sheet As Object
  
  Set sheet = ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.Sheets("roh_wert").CodeName)
  sheet.Name = ActiveWorkbook.Sheets("roh_wert").Name
  
  Set sheet = ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.Sheets("wert_gueltig").CodeName)
  sheet.Name = ActiveWorkbook.Sheets("wert_gueltig").Name
  
End Sub

Willst du unbedingt einen Ersatz für "Globale Variable", dann code in einem allgemeinen Modul so

Public Property Get MyRoh() As Worksheet
    Set MyRoh = ThisWorkbook.Sheets("Tabelle6")
End Property
Public Property Get MyGueltig() As Worksheet
    Set MyGueltig = ThisWorkbook.Sheets("Tabelle7")
End Property

und irgendwo die zuweisende Prozedur

Sub Get_asd_Klicken()
Dim t As Long

   t = 3
   With MyRoh
      .Range("A" & t).Copy MyGueltig.Range("B" & t + 2)
   End With

End Sub

Jetzt hast du aber noch lange nicht das von dir deklamierte Set

Dazu benötigst du eine eigene Klasse - zum Bleistift clsWshSet

 

dann lautet dein Modul-Code in etwa so

Sub cls_asd_Klicken()
Dim t As Long
Dim oWshSet As New clsWshSet

   t = 9
   oWshSet.ShRoh.Range("A" & t).Copy oWshSet.ShGueltig.Range("B" & t)
   

End Sub

Der ganze Schmäh ist auch nicht von mir, den findest du überall im Netz und auch jetzt in diesem Forum.

LG woswasi


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
11.05.2019 19:01:34 terres
NotSolved
11.05.2019 19:12:08 Flotter Feger
NotSolved
11.05.2019 19:17:05 terres
NotSolved
11.05.2019 19:59:38 Gast43796
NotSolved
11.05.2019 20:02:27 Gast29528
NotSolved
11.05.2019 20:14:22 terres
NotSolved
11.05.2019 20:57:45 Flotter Feger
NotSolved
11.05.2019 22:59:05 terres
NotSolved
Rot ein set an "set"s global definieren
12.05.2019 06:53:38 Gast78414
NotSolved
12.05.2019 09:47:34 Gast88214
**
NotSolved