Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1712to1716
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalte auslesen, weiter übertragen

Spalte auslesen, weiter übertragen
26.09.2019 10:59:08
Waldow
Hallo Exel Freunde,
ich wär gerne interessiert wenn jemand so freundliche wäre, mir von einer Excel Anwendung in einem VBA Script Code umzuschreiben, um die Ausgabe von Spalten-Inhalte fortlaufende in andere Spalten zu übertragen, da dieses Problem mit einer Excel-Anwendung nicht funktioniert.
Als Beispiel hier mit einer Excel Programm-Beschreibung:
In der Spalte A1-A5 stehen 5 konstante Zahleninhalte von 1-5, die durch die Zufallszahl-Formel in Spalte C1-5 eine Veränderung der Zahlen-Reihenfolge in Spalte B1-5 ausgibt,
soweit ist das in der Excel-Anwenung auch ok, dieses sollte aber in einem VBA Script umgeschrieben werden, weil bei dem nächste Klick mit F9 die selbe Spalte B1-5 – und E1-5 überschrieben wird, dass sollte mit einem VBA Script fortlaufent in andere Spalten geschrieben werden, weil es mit diesem Excel-Programm nicht funktioniert.
Excel-Programm:
Spalte A1-A5 1.2.3.4.5
Spalte B1-B5, Index(A$1:A$5;Rang.Gleich($C$1:$C$5;1))
Spalte C1-C5, =Zufallszahl()
Ausgabe-Spalte: Spalte E1-E5, =B1(4) =B2(3) =B3(2) =B4(5) =B5(1)
Durch Betätigen der Funktionstaste F9 (später Button 1) wird eine neue Zahlen-Reihenfolge mit Spalteninhalt in Spalte B1-B5 ausgegeben, ich habe hier die Ausgabe einfach manuell in die Ausgabe-Spalte E1-5 kopiert, diese sollten dann automatisch im VBA Modus Spaltenweise immer weiter ausgegeben werden.
Die nächste Ausgabe wäre dann in Spalte F1-5, G1-5, H1-5 usw. bis dann später alle mit einem Lösch (2 Button) die Spalteninhalte ab F1-5 wieder gelöscht werden können.
Der VBA Code müßten vorher die konstante Zahlenreihe 1-5 von der Variable Z1:Z5 in A1-A5 übernommen werden, sodas mit der VBA Anwendung die Zahlenfolge A1-A5 dann konstant bleibt, wie im Exce-Programm.
Option Explicit
Sub Makro1()
Dim arrV As Variant, intNr As Integer, B As Integer, Target As Range
arrV = Application.Transpose(Range(“Z1:Z5“))
Range(“A1:A5“) = Range(“Z1:Z5“)
Range(“Z1:Z5“)= Application.Transpose(arrV)
Range(“E1:E5“) = Range(“B1:B5“), Value     ' Ausgabespalte
' Range(“F1:F5“) = Range(“B1:B5“), Value     ' Ausgabespalte
End Sub
Option Explicit
Sub Makro2()
Spalte F1-F5,G1-G5,H1-H5 usw.
hier sollten die Spalten-Inhalte ab F1 alle wieder gelöscht werden.
End Sub
mit freundlichem Gruß
K-H Waldow

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte auslesen, weiter übertragen
26.09.2019 12:36:47
Rudi
Hallo,
Sub DasMakro()
Dim DieZielSpalte As Long
DieZielSpalte = Cells(1, Columns.Count).End(xlToLeft).Offset(, 1).Column
DieZielSpalte = Application.Max(DieZielSpalte, 5)
Cells(1, 1).Resize(5) = Application.Transpose(Array(1, 2, 3, 4, 5))
Cells(1, DieZielSpalte).Resize(5).Value = Range("B1:B5").Value
End Sub

Gruß
Rudi
AW: Spalte auslesen, weiter übertragen
26.09.2019 13:16:45
Waldow
Hallo Rudi
in der Zeile --
DieZielspalte = Cells(1, Columns,Count) .End(xToleft), Offset(, 1) .Coloumn
Cells(1, 1) .Resize(5) = Application.Transpose(Arry(1,2,3,4,5,))
macht er immer eine Fehlermeldung
Erwarte Anwendungsende
was muss ich da machen.
Anzeige
AW: Spalte auslesen, weiter übertragen
26.09.2019 13:36:41
Pierre
Hallo Waldow,
ich muss mal doof fragen, stehen die Zeilen in deinem Code so, wie du sie oben geschrieben hast oder so, wie sie von Rudi kamen?
Wenn ersteres der Fall ist (was ich vermute), solltest du die Leerzeichen, Satzzeichen usw. mal genau prüfen, dann liegt da nämlich dein Fehler.
Gruß Pierre
PS: Kopiere einfach den gesamten Code, den dir Rudi zur Verfügung gestellt hat und füge ihn 1:1 ins Modul ein...
bei mir geht das. owT
26.09.2019 13:38:52
Rudi
AW: bei mir geht das. owT
27.09.2019 09:23:14
Waldow
Hallo,
ja es war mir wirklich ein schreib Fehler unterlaufen, der Code macht jetzt keine Fehlerangabe
alles ok. Wäre es mögliche mir im Makro1() das zu zeigen weil löschen wird bei mir noch keine Spalte als Beispiel, danke.
Gruß Waldow
Option Explicit
Sub Makro1()
'1   1   3   4   5
'3   2   1   3   1
'5   3   4   5   2
'2   4   2   2   4
'4   5   5   1   3
'$B$1 '$C$1 '$D$1 '$E$1 '$F$1
'$B$2 '$C$2 '$D$2 '$E$2 '$F$2
'$B$3 '$C$3 '$D$3 '$E$3 '$F$3
'$B$4 '$C$4 '$D$4 '$E$4 '$F$4
'$B$5 '$C$5 '$D$5 '$E$5 '$F$5
End Sub

Sub Makro2()
Dim DieZielSpalt As Long
DieZielSpalte = Cells(1, Columns.Count).End(xlToLeft).Offset(, 1).Column
DieZielSpalte = Application.MaxChange(DieZielSpalte, 5)
Cells(1, 1).Resize(5) = Application.Tranpose(Array(1, 2, 3, 4, 5))
Cells(1, DieZielSpalte).Resize(5).Value = Range("B1:B5").Value
End Sub

Anzeige
keine Ahnung, was du willst. owT
27.09.2019 12:15:26
Rudi
AW: keine Ahnung, was du willst. owT
03.10.2019 10:21:48
Waldow
Hallo Rudi,
ich wollte doch nur wissen ob ich mit deinem Code die 5 Spalten (Tabelle1) löschen kann, die ich die oben mit aufgezeigt habe, bei mit funktioniert es nicht, es wäre schön dieses von dir noch mal zu prüfen.
Gruß Waldow

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige