Thema Datum  Von Nutzer Rating
Antwort
22.12.2014 12:41:41 Brev
NotSolved
Blau Schreiben mittels Range in 2.Arbeitsmappe
22.12.2014 13:38:04 Gast92265
NotSolved

Ansicht des Beitrags:
Von:
Gast92265
Datum:
22.12.2014 13:38:04
Views:
636
Rating: Antwort:
  Ja
Thema:
Schreiben mittels Range in 2.Arbeitsmappe
wsDb.Range(Cells(2, 1), Cells(153, 20)) = matrixDb

Einfach nur Cells bezieht sich auf das aktuell sichtbare Blatt, insofern der Quellcode in einem Modul steht. Steht er in einem Blatt, dann bezieht es sich genau auf dieses eine.

Du verursachst hier also im Worst-Case-Fall einen Laufzeitfehler, da du mitunter eine Zelle (z.B. Cells(2,1)) heranziehst und in einem anderen Blatt, welches nicht das aktive ist (wsDb), versuchst zu referenzieren ... das geht natürlich nicht. Anders gesagt: Du versuchst dann augenscheinlich einen Bereich über Arbeitsblätter hinweg zu referenzieren und das ist nunmal nicht erlaubt / definiert. ;)

 

Also:

wsDb.Range(wsDb.Cells(2, 1), wsDb.Cells(153, 20)) = matrixDb
''oder:
'With wsDb
'  .Range(.Cells(2, 1), .Cells(153, 20)) = matrixDb
'End With

 

PS: Geht demnach also auch um das Thema "sauberer Programmierstil" - man schreibt auf was gemeint ist und nicht weniger. ;o)

 

Gruß


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
22.12.2014 12:41:41 Brev
NotSolved
Blau Schreiben mittels Range in 2.Arbeitsmappe
22.12.2014 13:38:04 Gast92265
NotSolved