MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 17.04.2015, 14:54   #1
Machacha
MOF User
MOF User
Standard VBA - mehrere nicht zusammenhängende Zellen markieren

Hallo zusammen,

ich hab wieder mal eine Frage an euch.

Wir kann ich mehrere nicht zusammenhängende Zellen gleichzeitig markieren/kopieren.

Hätte schon einiges über Range(.Cells(lngZeile, 1), . Cells()...) versucht aber leider erfolglos.

auch mein letzter versuch mit Union blieb ohne Erfolg

Code:

Union(Range(Cells(IngZeile, 1),Range(Cells(IngZeile, 305), Range(Cells(IngZeile, 310), Range(Cells(IngZeile, 315), Range(Cells(IngZeile, 316), Range(Cells(IngZeile, 319))).Copy
Könnt ihr mir bitte sagen wie es richtig gehört?

LG
Katrin
Machacha ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.04.2015, 15:28   #2
xlph
MOF Meister
MOF Meister
Standard

Code:

Sub xlph()
    Union(Cells(IngZeile, 1), _
        Cells(IngZeile, 305), _
        Cells(IngZeile, 310), _
        Cells(IngZeile, 315), _
        Cells(IngZeile, 316), _
        Cells(IngZeile, 319)).Copy
End Sub
xlph ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.04.2015, 15:41   #3
Beverly
MOF Guru
MOF Guru
Standard

Hi Kathrin,

lösche alle Range( und am Ende eine Klammer )

Code:

Union(Cells(IngZeile, 1), Cells(IngZeile, 305), Cells(IngZeile, 310), Cells(IngZeile, 315), Cells(IngZeile, 316), Cells(IngZeile, 319)).Copy

Mit Cells(...) sprichst du ja bereits einzelne Zellen an.


GrußformelBeverly's Excel - Inn

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.04.2015, 15:52   #4
Machacha
Threadstarter Threadstarter
MOF User
MOF User
Standard

Genial. Es klappt
Vielen vielen Dank!!!

Ohne das Forum wär ich schon längst verzweifelt.
Eigentlich würde ich gerne mal Kuchen backen für euch
Mein Schuldenkonto ist ja schon am Platzen

LG
Katrin
Machacha ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.04.2015, 09:14   #5
Dirk Füting
MOF User
MOF User
Verwirrt Erweiterte Problemstellung...

... ich habe mehrere, nicht zusammenhängende Zellen eines Sheets markiert.
Danach habe ich die jeweiligen Adressen in einem Array gespeichert.
Durch verschiedene Aktionen im Laufe der Codeverarbeitung sind die Markierungen aufgehoben worden.
Zum Ende des Codes möchte ich die Zellenmarkierungen wiederherstellen.
Wie stelle ich das an? Ich weiß zu Beginn nicht, wie viele Zellen markiert sind.

Herzlichen Dank für Eure Hilfe,
Gruß
Dirk

__________________

Wahrheit ist nicht, was A sagt - Wahrheit ist, was B versteht.
Dirk Füting ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.04.2015, 10:04   #6
Beverly
MOF Guru
MOF Guru
Standard

Hi Dirk,

und wie sieht dein bisheriger Code für das Array aus?


GrußformelBeverly's Excel - Inn

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.04.2015, 10:22   #7
Dirk Füting
MOF User
MOF User
Strahlen

Hallo Karin,

so:
Code:

For Each rngCell In Selection
    ReDim Preserve varArrCells(lngX)
    varArrCells(lngX) = rngCell.Address
    lngX = lngX + 1
Next rngCell
Gruß
Dirk

__________________

Wahrheit ist nicht, was A sagt - Wahrheit ist, was B versteht.
Dirk Füting ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.04.2015, 10:40   #8
Beverly
MOF Guru
MOF Guru
Standard

Hi Dirk,

du müsstest dann in einer Schleife über alle Arrayinhalte laufen und sie zu einem gemeinsamen Bereich zusammensetzen:

Code:

Sub Bereiche()
    Dim rngCell As Range
    Dim lngX As Long
    Dim rngBereich As Range
    Dim varArrCells()
    For Each rngCell In Selection
        ReDim Preserve varArrCells(lngX)
        varArrCells(lngX) = rngCell.Address
        lngX = lngX + 1
    Next rngCell
    
    '....
    
    For lngX = 0 To UBound(varArrCells())
        If lngX = 0 Then
            Set rngBereich = Range(varArrCells(lngX))
        Else
            Set rngBereich = Union(rngBereich, Range(varArrCells(lngX)))
        End If
    Next lngX
    rngBereich.Select
End Sub

Frage: weshalb trägst du die Zelladressen in ein Array ein? Benutzt du die Zelladressen einzeln in deinem weiteren, hier nur als ... dargestellten Code? Oder was machst du damit?


GrußformelBeverly's Excel - Inn

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.04.2015, 11:09   #9
Dirk Füting
MOF User
MOF User
Standard

Na, das ist ja genial einfach... wobei die Betonung auf GENIAL liegt.
Dankeschön!

Ja, die markierten Zellen sollen für weitere, aber vom definierten Array unabhängige Operationen genutzt werden.
... und auch dazu dienen, die ursprünglich markierten Zellen einfacher wiederzufinden.

Herzlichen Dank!

__________________

Wahrheit ist nicht, was A sagt - Wahrheit ist, was B versteht.
Dirk Füting ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.04.2015, 11:53   #10
Beverly
MOF Guru
MOF Guru
Standard

Hi Dirk,

naja - benötigst du die Zelladressen als solche oder die einzelnen Bereiche? Wenn es um die Bereiche geht, dann musst du sie nicht in ein Array schreiben, sondern kannst sie zu einen großen Bereich zusammenfassen und über Bereich.Areas(xx) auf diese Bereiche zugreifen - also nach diesem Prinzip:

Code:

Sub BereicheAnders()
    Dim rngCell As Range
    Dim rngBereich As Range
    Dim lngX As Long
    For Each rngCell In Selection
        If rngBereich Is Nothing Then
            Set rngBereich = rngCell
        Else
            Set rngBereich = Union(rngBereich, rngCell)
        End If
    Next rngCell
    ' die einzelnen Bereiche ausgeben
    For lngX = 1 To rngBereich.Areas.Count
        MsgBox rngBereich.Areas(lngX).Address
    Next lngX
    rngBereich.Select
    Set rngBereich = Nothing
End Sub

GrußformelBeverly's Excel - Inn

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.04.2015, 12:29   #11
Dirk Füting
MOF User
MOF User
Normal

Ich benötige die Adressen.
Dein Lösungsvorschlag hat aber natürlich auch etwas für sich ... da werde ich nochmal überlegen.

Vielen Dank!

__________________

Wahrheit ist nicht, was A sagt - Wahrheit ist, was B versteht.
Dirk Füting ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.10.2018, 09:35   #12
Motzinho
Neuer Benutzer
Neuer Benutzer
Standard mehrere nicht zusammenhängende Zellen einfügen

Hallo zusammen,

dieses Thread hat mir jetzt schon sehr weiter geholfen.

Sub Kopiere()

Union(Range("Bereich1"), _
Range("Bereich2"), _
Range("Bereich3")).Copy

End Sub

Diese Bereiche möchte ich nun in eine andere Datei kopieren.
Leider kommt beim ausführen des unteren Bereichs "Laufzeitfehler 1004: "Diese Aktion funktioniert nicht bei einer Mehrfachauswahl
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Liegt an dieser Zeile. Allerdings möchte ich, dass nur die Werte und absolut nichts anderes eingefügt wird.

Sub Wartung_einfügen()

Union(Range("Bereich1"), _
Range("Bereich2"), _
Range("Bereich3")).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

End Sub

Vielen Dank schonmal!
Motzinho ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.10.2018, 10:46   #13
Beverly
MOF Guru
MOF Guru
Standard

Hi,

Zitat: von Motzinho Beitrag anzeigen

Leider kommt beim ausführen des unteren Bereichs "Laufzeitfehler 1004: "Diese Aktion funktioniert nicht bei einer Mehrfachauswahl

In diesem Fall musst du jeden Bereich einzeln behandeln.


GrußformelBeverly's Excel - Inn

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:49 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.