Excel-VBA - Union der Bereiche und seine Teilbereiche

Betrachten Sie das folgende vba-makro in excel

Sub foo()
    Dim aRng As Range: Set aRng = ActiveSheet.Range("A1:J1")
    Dim bRng As Range: Set bRng = ActiveSheet.Range("A4:J4")
    Dim cRng As Range: Set cRng = ActiveSheet.Range("A10:J10")

    Dim uRng As Range: Set uRng = Union(aRng, bRng, cRng)
    uRng.Style = "Good"
    uRng.Cells(2, 1).Style = "Bad"
End sub

Sind die Ergebnisse: Zeilen 1 "A1:J1", "A4:J4", "A10:J10" sind gute und Zelle "A2" ist bad.
Ich erwartete Zelle "A4" werden bad. "A2" ist nicht in uRng; warum sollte es zurückgegeben werden, indem uRng.Cells(2,1)?

Andere Merkwürdigkeiten: uRng.Rows.Count = 1 und uRng.Columns.Count = 10. Bin ich falsch, zu erwarten, dass uRng zu 3x10-Bereich? Oder ist das unbestimmt, weil die Positionen der aRng, bRng, und cRng zu einander ist nicht angegeben?

  • Fragte ich eine Frage, reicht gestern.. Sie sich nicht so Verhalten, wie man erwarten würde 🙁 Meine Auswahl Frage
  • es ist leicht zu überprüfen. Füllen Sie einfach Ihr Angebot (lassen Sie alle anderen Zellen leer), und führen Sie eine Application.Worksheetfunction.CountaA(uRng). So können Sie sehen das nicht. der gefüllten Zellen vs. erwartet.
  • Ich sehe, Sie haben bereits akzeptiert eine Antwort 🙂 Aber ich werde trotzdem gehen Sie voran und poste meine Antwort, da tippte ich eine Menge... lol
  • Es wird geschätzt werden
InformationsquelleAutor cheezsteak | 2013-11-18
Schreibe einen Kommentar