Thema Datum  Von Nutzer Rating
Antwort
29.01.2019 09:16:45 Bernd
NotSolved
29.01.2019 09:49:39 Gast6352
NotSolved
29.01.2019 14:14:16 Gast52608
NotSolved
Blau Ok, jetzt noch mal zum mitschreiben ... :o]
30.01.2019 03:23:41 Gast26517
NotSolved
29.01.2019 14:55:21 Werner
NotSolved
29.01.2019 15:09:20 Werner
NotSolved
29.01.2019 18:51:02 Gast8415
NotSolved
30.01.2019 03:43:45 Gast26517
NotSolved
30.01.2019 03:50:46 Gast26517
NotSolved
30.01.2019 11:03:48 Werner
NotSolved
30.01.2019 22:12:21 Bernd
Solved

Ansicht des Beitrags:
Von:
Gast26517
Datum:
30.01.2019 03:23:41
Views:
476
Rating: Antwort:
  Ja
Thema:
Ok, jetzt noch mal zum mitschreiben ... :o]

Man musst überhaupt nicht auf ein Blatt wechseln um dessen Daten zu manipulieren.

Worksheets("Tabelle2").Range("B2")

greift auf die Zelle B2 im Blatt 'Tabelle2' zu. Egal ob gerade ein anderes Blatt aktiv/sichtbar ist oder nicht.

Genau das habe ich dir auch in dem älteren Post auch gesagt. ;)

 

Wenn du allerdings in einem Modul (nicht Klassenmodul ! ) sowas schreibst wie

Range("B2")

oder

Cells(1, 2)

du also kein Tabellenblatt angibst, dann bezieht sich dieser Ausdruck auf das aktive/sichtbare Blatt. Dieses Verhalten ist in der Informatik als Sichtbarkeitsbereich (Scope) bekannt.

Pragmatishes Beispiel: Stell dir vor, als ob du Zuhause in deiner Wohnung einen Fernseher mit Fernbedienung hast und dein bester Kumpel hat exakt den gleichen bei sich Zuhause rumstehen. Wenn du jetzt in deiner Wohnung die Fernbedienung betätigst, bedienst du damit deinen Fernseher.

Nimmst du deine Fernbedienung jetzt mit zu deinem Kumpel in seine Wohnng und benutzt deine Fernbedienung dort, dann bedienst du damit seinen Fernseher - eben WEIL die Wohnung deines Kumpels in jenem Moment der Sichtbarkeitsbereich deiner Fernbedienung ist und nicht mehr deine Wohnung.

Stehst du mit der Fernbedienung auf der Straße, dann bedienst du damit (mal technische Details außen vor gelassen) den nächst gelegenen Fernseher des gleichen Bautyps. Das wäre dann der Fall, wie VBA reagiert wenn du in einem Modul einfach nur Cells(1, 2) schreibst. Das wurde in VBA einfach so implementiert.

 

Nun solltest du auch verstanden haben, dass ein Activate nicht notwendig ist und damit auch dein Problem mit dem Laufzeitfehler im letzten Durchgang nichtig ist. :)

 

Grüße


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
29.01.2019 09:16:45 Bernd
NotSolved
29.01.2019 09:49:39 Gast6352
NotSolved
29.01.2019 14:14:16 Gast52608
NotSolved
Blau Ok, jetzt noch mal zum mitschreiben ... :o]
30.01.2019 03:23:41 Gast26517
NotSolved
29.01.2019 14:55:21 Werner
NotSolved
29.01.2019 15:09:20 Werner
NotSolved
29.01.2019 18:51:02 Gast8415
NotSolved
30.01.2019 03:43:45 Gast26517
NotSolved
30.01.2019 03:50:46 Gast26517
NotSolved
30.01.2019 11:03:48 Werner
NotSolved
30.01.2019 22:12:21 Bernd
Solved