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 12.12.2017, 13:22   #1
manu1988
Neuer Benutzer
Neuer Benutzer
Standard Excel2010 - Spalten in die gewünschte Position setzen

Hallo sehr geehrte Forum Mitglieder,

ich habe da ein Problem, dass ich einfach nicht lösen kann.

Code:

Ar = Cells(1).CurrentRegion
    ReDim Br(UBound(Ar), UBound(Ar, 2))
    For z = 1 To UBound(Ar)
        Br(z, 1) = Ar(z, 1)
        Br(z, 2) = Ar(z, 3)
        Br(z, 3) = Ar(z, 13)
        Br(z, 4) = Ar(z, 4)
        Br(z, 5) = Ar(z, 5)
        Br(z, 6) = Ar(z, 6)
        Br(z, 7) = Ar(z, 7)
        Br(z, 8) = Ar(z, 8)
        Br(z, 9) = Ar(z, 2)
        Br(z, 10) = Ar(z, 9)
        Br(z, 11) = Ar(z, 14)
        Br(z, 12) = Ar(z, 15)
        Br(z, 13) = Ar(z, 10)
        Br(z, 14) = Ar(z, 11)
        Br(z, 15) = Ar(z, 12)
    Next z
    Cells(1).Resize(UBound(Br) + 1, UBound(Br, 2) + 1) = Br
Mit diesem Code passe ich die Spaltenreihenfolge an. Also ich bringe damit die Spalten in die gewünschte Position. Das funktioniert alles auch prima. Jedoch habe ich dann jeweils links eine Spalte frei und oben eine Zeile. Das heißt, die Tabelle beginnt dann nach der Anordnung durch den Code in der Zelle (2,2). Habe schon alles ausprobiert, aber vergeblich. Könnt ihr mir da helfen, den Fehler zu finden? Ein anderer Code dafür wäre auch völlig in Ordnung. Hauptsache es macht, was es machen soll.

Ich freue mich sehr, wenn mir einer helfen kann..
manu1988 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.12.2017, 13:33   #2
EarlFred
MOF Guru
MOF Guru
Standard

Hallo,

Datenfelder, die durch "Abklatsch" eines Zellbereichs entstehen, beginnen immer bei 1. Datenfelder, die Du mittels Dim / Redim erzeugst, beginnen bei 0 (solange diese Einstellung nicht geändert wird)

Ich würde immer Lbound() und Ubound() verwenden:
Code:

ReDim Br(LBound(Ar, 1) To UBound(Ar, 1), LBound(Ar, 2) To UBound(Ar, 2))
  For Z = LBound(Ar, 1) To UBound(Ar, 1)
        Br(Z, 1) = Ar(Z, 1)
        Br(Z, 2) = Ar(Z, 3)
        Br(Z, 3) = Ar(Z, 13)
        Br(Z, 4) = Ar(Z, 4)
        Br(Z, 5) = Ar(Z, 5)
        Br(Z, 6) = Ar(Z, 6)
        Br(Z, 7) = Ar(Z, 7)
        Br(Z, 8) = Ar(Z, 8)
        Br(Z, 9) = Ar(Z, 2)
        Br(Z, 10) = Ar(Z, 9)
        Br(Z, 11) = Ar(Z, 14)
        Br(Z, 12) = Ar(Z, 15)
        Br(Z, 13) = Ar(Z, 10)
        Br(Z, 14) = Ar(Z, 11)
        Br(Z, 15) = Ar(Z, 12)
    Next Z
    Cells(1).Resize(UBound(Ar, 1) - LBound(Ar, 1) + 1, UBound(Ar, 2) - LBound(Ar, 2) + 1).Value = Br
Oder viel einfacher so:
Code:

Ar = Cells(1).CurrentRegion.Value

Br = Ar

  For Z = LBound(Ar, 1) To UBound(Ar, 1)
        Br(Z, 2) = Ar(Z, 3)
        Br(Z, 3) = Ar(Z, 13)
        Br(Z, 9) = Ar(Z, 2)
        Br(Z, 10) = Ar(Z, 9)
        Br(Z, 11) = Ar(Z, 14)
        Br(Z, 12) = Ar(Z, 15)
        Br(Z, 13) = Ar(Z, 10)
        Br(Z, 14) = Ar(Z, 11)
        Br(Z, 15) = Ar(Z, 12)
    Next Z
    Cells(1).Resize(UBound(Ar, 1) - LBound(Ar, 1) + 1, UBound(Ar, 2) - LBound(Ar, 2) + 1).Value = Br
End Sub
Grüße
EarlFred

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 7 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,049% per 19.12.2018) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.12.2017, 12:44   #3
manu1988
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Herzlichen Dank für deine schnelle und wie immer effektive Lösung. Klappt prima. Ich hätte da eigentlich noch ein kleines Problem. Ich habe mir eine UserForm zusammengestellt. Alles funktioniert. Nur würde ich gerne beim start der Excel Datei eigentlich nur die UserForm sehen. Ich habe auch grad im Forum gesucht und auch gewisse Beiträge dazu gefunden, aber konnte mir damit keine Lösung zusammenstellen. Könntest du mir dabei helfen?
manu1988 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 15:26 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.