| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Visual Basic in Excel (611 mal gelesen)
|
Robertdbz2 Mitglied Azubi
 Beiträge: 6 Registriert: 09.02.2005
|
erstellt am: 09. Feb. 2005 14:12 <-- editieren / zitieren --> Unities abgeben:         
Hallo alle zusammen, ich muss in Excel eine ganz doofe Aufgabe machen. Ich habe eine Spalte mit Zahlen von 1 bis 11 also C2:C12. Diese soll ich zwei Spalten weiter rechts transponiert einfügen neben jeder 2. Zahl. Das ist noch einfach, das habe ich auch hinbekommen. Aber jetzt soll es so sein, wenn ich die Spalte mit den Zahlen erweitere bis 20 also bis C21 sollen alle Zahlen dieser Spalte transponiert neben jeder 2. Zahl stehen. Ich weis es ist sehr kompliziert ausgedrückt, aber wenn man sich meine hochgeladene Excel-Tabelle ansieht hoffe ich erkennt man was ich meine. Ich hoffe mir kann hier jemand helfen. MfG Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
   
 Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 09. Feb. 2005 15:38 <-- editieren / zitieren --> Unities abgeben:          Nur für Robertdbz2
Moin Robert, auf die Schnelle, sowas? (abhängig vom markierten Bereich)
Code:
Sub Übung1() Dim i As Long With Selection If .Columns.Count > 1 Then Exit Sub .Copy For i = .Row To .Row + .Rows.Count Step 2 Cells(i, .Column + 2).PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ , Transpose:=True Next End With Application.CutCopyMode = False End Sub
Gruss Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Robertdbz2 Mitglied Azubi
 Beiträge: 6 Registriert: 09.02.2005
|
erstellt am: 10. Feb. 2005 10:28 <-- editieren / zitieren --> Unities abgeben:         
Danke Nancy, es hat funktioniert. Nun habe ich aber noch ein kleines Problemchen wenn mich jetzt jemand fragt was die Befehle bewirken stehe ich dumm da. Wärst du so nett und kannst mir die einzelnen Schritte erklären? Ich wäre dir dafür sehr dankbar. MfG Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Robertdbz2 Mitglied Azubi
 Beiträge: 6 Registriert: 09.02.2005
|
erstellt am: 10. Feb. 2005 10:29 <-- editieren / zitieren --> Unities abgeben:         
Danke Nancy, es hat funktioniert. Nun habe ich aber noch ein kleines Problemchen wenn mich jetzt jemand fragt was die Befehle bewirken stehe ich dumm da. Wärst du so nett und kannst mir die einzelnen Schritte erklären? Ich wäre dir dafür sehr dankbar. MfG Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
   
 Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 10. Feb. 2005 20:04 <-- editieren / zitieren --> Unities abgeben:          Nur für Robertdbz2
Abend Robert, kanns nur kurz kommentieren, die Grundlagen musste Dir schon selber reinziehen aber auch schon den Cursor mal spassenshalber innerhalb eines Schlüsselwortes parken und F1 drücken hilft mitunter ;-) Gruss Nancy
Code:
Sub Übung1() Dim i As Long 'Zeilenzähler des markierten Bereichs With Selection 'markierter Bereich If .Columns.Count > 1 Then Exit Sub 'wenn über mehr als eine Spalte markiert wurde > Endstation [machnix] .Copy 'ansonsten markierten Bereich kopieren For i = .Row To .Row + .Rows.Count Step 2 'von der ersten Zeilennummer der Markierung beginnend 'schrittweise aller 2 Zeilen, zwei Spalten daneben einfügen Cells(i, .Column + 2).PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ , Transpose:=True Next 'die [über]nächste bitte End With Application.CutCopyMode = False End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Robertdbz2 Mitglied Azubi
 Beiträge: 6 Registriert: 09.02.2005
|
erstellt am: 11. Feb. 2005 11:47 <-- editieren / zitieren --> Unities abgeben:         
|
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ

 Beiträge: 2897 Registriert: 06.07.2001 what i think? I think, no skill
|
erstellt am: 11. Feb. 2005 18:44 <-- editieren / zitieren --> Unities abgeben:          Nur für Robertdbz2
=INDEX($C$2:$C$200;SPALTE(A$1);ZEILE(A$1)) in E2 eingegeben sollte es auch erfüllen formel ist stabil beim nach rechts kopieren und beim E4, E6 einfügen etc... eine weitere möglichkeit wäre E2-IU2 markieren =MTRANS($C2:$C2) eingeben und mit strg+shift+enter eine matrixformel erstellen, aber nicht ganz so flexibel wie obengenannte formel Zitat: Original erstellt von Robertdbz2: (...)wenn mich jetzt jemand fragt was die Befehle bewirken stehe ich dumm da.
Wenn dein Gegenüber ebenso keine Ahnung hat *g* eine Story vom Pferd kann man immer erzählen, geht eigentlich nur schief wenn der Andere Ahnung hat Grundsätzlich befürworte ich aber das eigene Interesse am Wissen ,) Gruss Thomas *und ich kann viele Storys vom Pferd erzählen, muss an meinen Gegenüber liegen * [Diese Nachricht wurde von Thomas Harmening am 11. Feb. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |