Bereich übergeben

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Bereich übergeben
von: Patrick
Geschrieben am: 28.04.2015 12:25:09

Ich komm wiedermal nicht weiter und hoffe ihr könnt mir helfen...
In meiner Tabelle1 befinden sich markierte Zellen mit farbigem Hintergrund,
dieser soll ausgewertet und in Tabelle 2 geschreiben werden.
so weit so gut, bis hierher funktioniert alles solang ich das makro aus Tabelle 1 herraus starte.
Effektiver wäre aber der Makrostart über:


Private Sub Worksheet_Activate()
in Tabelle 2
Testweise habe ich nun meinen Code umgeschreiben mit:

Sheets("Tabelle1").Select
                                 'Code
Sheets("Tabelle2").Select

auch das funktionert jedoch wechselt excel wahnsinnig schnell zwischen Tabelle1 und Tabelle2 hin und her.
gibt es eine sauberere Lösung für das Problem?
hier noch der erste Teil meines aktuellen Codes:


    Bereich = Selection.Address(False, False)
    lo = Left(Bereich, InStr(Bereich, ":") - 1)             
    ru = Right(Bereich, Len(Bereich) - InStr(Bereich, ":")) 
    zo = Range(lo).Row                                      
    zu = Range(ru).Row                                      
    sl = Range(lo).Column                                   
    sr = Range(ru).Column                                   
   
    
  For zeile = zo To zu 
    For spalte = sl To sr 
       
    fwert = Sheets("Tabelle1").Cells(zeile, spalte).Interior.Color

geschrieben wird später mit

Sheets("Tabelle2").Cells(y, x).Interior.Color = fwert

Danke schonmal Vorab

Bild

Betrifft: AW: Bereich übergeben
von: Hajo_Zi
Geschrieben am: 28.04.2015 12:28:08
wenn Du in einer anderen Tabelle bist hat Excel in der Tabele1 keinen markierten Bereich.


Bild

Betrifft: AW: Bereich übergeben
von: Patrick
Geschrieben am: 28.04.2015 12:38:04
Danke Hajo, das habe ich vermutet,
gibt es eine Möglichkeit jede Markierung in Tabelle 1
zwischenzuspeichern und dann global zur Verfügung zu stellen?

Bild

Betrifft: AW: Bereich übergeben
von: Hajo_Zi
Geschrieben am: 28.04.2015 12:43:24
definiere eine globale Variable. Unter der Tabelle.

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    StBereich = Target.Address
End Sub
Gruß Hajo

Bild

Betrifft: AW: Bereich übergeben
von: Rudi Maintaire
Geschrieben am: 28.04.2015 12:46:20
Hallo,
als Anregung.
Tabelle2:

Private Sub Worksheet_Activate()
  Dim r As Range
  Application.ScreenUpdating = False
  Application.EnableEvents = False
  Sheets("Tabelle1").Activate
  Set r = Selection
  Me.Activate
  Application.EnableEvents = True
  MsgBox r.Address
End Sub
Gruß
Rudi

Bild

Betrifft: AW: Bereich übergeben
von: Patrick
Geschrieben am: 28.04.2015 14:20:01
Danke für die Antworten, das Problem ist gelöst.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Bereich übergeben"