Microsoft Excel

Herbers Excel/VBA-Archiv

mehrere Spalten untereinander ohne Doppler

Betrifft: mehrere Spalten untereinander ohne Doppler von: Ich_halt
Geschrieben am: 18.09.2014 14:07:41

Hallo nochmal,

Wie muss ich das folgende Makro anpassen, damit es die "eine Spalte" nicht in die Zelle A1 und folgende einfügt, sondern in Zelle A2 und folgende?

Sub Column()
  Dim vArr, i As Long, j As Long, oDic As Object, oKey
  Set oDic = CreateObject("scripting.dictionary")
  vArr = Cells(1, 1).CurrentRegion
  For i = 2 To UBound(vArr)
    For j = 4 To UBound(vArr, 2)
     oDic(vArr(i, j)) = 0
    Next
  Next
  i = 0
  ReDim vArr(1 To oDic.Count, 1 To 1)
  For Each oKey In oDic
    i = i + 1
    vArr(i, 1) = oKey
  Next
  With Sheets("TA_Column")
    .Columns(4).ClearContents
    .Cells(1, 1).Resize(oDic.Count) = vArr
    Sheets("TA_Column").Select
    Columns(1).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
  End With
End Sub

Lg,
Susanne

  

Betrifft: AW: mehrere Spalten untereinander ohne Doppler von: Rudi Maintaire
Geschrieben am: 18.09.2014 14:20:27

Hallo,
hast du mal versucht, den Code zu verstehen?
Einfacher geht's wirklich nicht.
.Cells(2, 1).Resize(oDic.Count) = vArr

Gruß
Rudi

btw: sollte das nicht in D?
.Cells(2, 4).Resize(oDic.Count) = vArr



  

Betrifft: AW: mehrere Spalten untereinander ohne Doppler von: Ich_halt
Geschrieben am: 18.09.2014 14:26:59

Hallo Rudi,

das habe ich bereits versucht. Es fügt aber immer noch Zelle A1 ein. Leider. Ich wollte den Quellbereich ab Spalte D. Weil ich den Code nachvollzogen und einigermaßen verstanden habe, hab ich das selbst anpassen können :)

Lg,
Susanne


  

Betrifft: AW: mehrere Spalten untereinander ohne Doppler von: Rudi Maintaire
Geschrieben am: 18.09.2014 19:07:37

Hallo,
ich sollte auch mal lesen ;-)
Steht denn in A1 was?
Evtl. liegts an der Sortierung.

    With Sheets("TA_Column")
      .Columns(4).ClearContents
      .Cells(2, 1).Resize(oDic.Count) = vArr
      .Columns(1).Sort Key1:=.Range("A2"), Order1:=xlAscending, Header:=xlYes, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    End With

Gruß
Rudi


 

Beiträge aus den Excel-Beispielen zum Thema "mehrere Spalten untereinander ohne Doppler"