Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema RefEdit
BildScreenshot zu RefEdit RefEdit-Seite mit Beispielarbeitsmappe aufrufen

Bereich tauschen

Betrifft: Bereich tauschen von: Chris
Geschrieben am: 22.10.2020 13:32:21

Hallo VBAler,

ich möchte die Spalte A im Bereich von A3:A30 nach zwei Begriffen durchsuchen. Wenn gefunden, sollen diese Zellen und die jeweils 5 anderen Zellen rechts daneben miteinander getauscht werden.

Wie setzt man so etwa per VBA um?

Gruß

Chris

Betrifft: AW: Bereich tauschen
von: Daniel
Geschrieben am: 22.10.2020 14:40:16

Hi
was muss denn getauscht werden?
nur die reinen Zellwerte oder auch unterschiedliche Formatierungen?

bei reinen Zellwerten geht's so
dim Zelle1 as range
dim arr
dim Zelle2 as Range
set Zelle1 = Range("A3:A30").find(what:="Begriff1", lookat:=xlwhole, lookin:=xlvalues)
set Zelle2 = Range("A3:A30").find(what:="Begriff2", lookat:=xlwhole, lookin:=xlvalues)

if Zelle1 is Nothing or Zelle2 is Nothing then
    msgbox "Begriffe nicht gefunden"
else
    set Zelle1 = Zelle1.resize(1, 6)
    set Zelle2 = Zelle2.resize(1, 6)
    arr = Zelle1.value 
    Zelle1.value = Zelle2.value
    zelle2.value = arr
end if

eine andere Möglichkeit wäre folgendes, Spalte G sollte frei sein:
with Range("G3:G30")
    .formular1c1 = IF(RC1=""Begriff"",Match(""Begriff2"",C1,0),IF(RC1=""Begriff2"",Match("" _
Begriff1"",C1,0),Row()))
    .Formula = Value
    Range("A3:G30").Sort Key1:=Range("G3"), order1:=xlascending, Header:=xlno
   .ClearContents
end with

Die Zeile mit dem .FormulaR1C1 bitte ohne den Zeilenumbruch einfügen.
den macht die Forensoftware hier automatisch, aber leider falsch.
Gruß Daniel

Betrifft: AW: Bereich tauschen
von: Chris
Geschrieben am: 23.10.2020 13:50:10

Hallo Daniel,

vielen Dank. Das erste ist genau das was ich suchte.
Gruß

Chris

Beiträge aus dem Excel-Forum zum Thema "Bereich tauschen"