![]() |
Betrifft: transponieren mit combobox
von: hmkotu@lycos.de
Hallo zusammen,
ich hab da ein kleines Problem. ich kopiere derzeit über eine Userform einzelne Zellen in ein anderes
Tabellenblatt. Das klappt mit dem folgenden Macro super
Dim zeil%, mzeil%, ustart%, uende%, farbi, etr%, mzei%
Private Sub CommandButton1_Click()
zeil = Me.ComboBox1.ListIndex + 2
Range (Cells(zeil, 7) + Cells(zeil, 11))
Sheets("Einzeldaten").Activate
Cells(8, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Da ich mehrere Zeilen habe die auch transponiert werden müssen ist es recht mühsam für jede
einzelne zelle ein Macro zu schreiben. Bin zufällig auf den folgenden Macro gestoßen.
Sub transponieren()
Dim rngZelle As Range, rngBereich As Range
Dim intZ As Integer, ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets("Stammdaten")
Set ws2 = Worksheets("Einzeldaten")
Set rngBereich = ws1.Range("A1:C1")
For Each rngZelle In rngBereich
intZ = intZ + 1
ws2.Cells(intZ, 2).Value = rngZelle
Next
End Sub
Leider habe ich es nicht hinbekommen diese auf meine bedürfnisse umzustricken.
Die Zeile bei mir ist variabel bzw. wird vom Combobox1. ermittelt.
zeil = Me.Combobox1.listindex + 2
Die zu markierenden Zellen sind von (zeil+7) : (zeil+11)
Danke im Voraus
Gruß
Hamza
![]() |
Betrifft: AW: transponieren mit combobox
von: Hamza
Geschrieben am: 01.07.2008 12:31:27
Bei dem ersten Macro hab ich mich wohl vergriffen.
So funktionierts bei mir richtig
Private Sub CommandButton1_Click()
zeil = Me.ComboBox1.ListIndex + 2
Cells(zeil, 7).Copy
Sheets("Einzeldaten").Activate
Cells(8, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
Gruß
Hamza
![]() |
Betrifft: AW: transponieren mit combobox
von: Hamza
![]() |
Betrifft: AW: Was willst du wohin schreiben?
von: Chris
Geschrieben am: 01.07.2008 14:06:20
Servus Hamza,
beschreib mal genauer, welche Zellen(Zeilen oder Spalten) du von wo, wohin transponiert haben möchtest.
Gruß
Chris
![]() |
Betrifft: AW: Was willst du wohin schreiben?
von: Hamza
![]() |
Betrifft: AW: Was willst du wohin schreiben?
von: Hamza
Geschrieben am: 01.07.2008 14:57:14
Hallo Chris,
es sollen eigentlich viel mehr Daten kopiert werden.
ich wollte aber für die dann ein separates Macro schreiben.
Villeicht kann mann das ja auch mit einbinden
Ich möchte noch gerne
Aus Stammdaten in der jeweiligen Zeile die Spalten 2 bis 6 nach Tabellenblatt (Einzeldaten) in D8 bis D12,
sowie die Spalten 13 bis 250 nach Tabellenblatt (Einzeldaten) in B18 bis B255
Gruß
Hamza
![]() |
Betrifft: AW: Was willst du wohin schreiben?
von: Chris
![]() |
Betrifft: AW: Was willst du wohin schreiben?
von: Hamza
Geschrieben am: 01.07.2008 16:06:12
Hallo Chris,
ich habe in meiner Combobox unter Eingenschaften/RowSource einfach
Stammdaten A2:A65536 eingegeben, also werden mir die gesamten Kundennamen
in der Combobox aufgelistet. Meine Kunden beginnen erst in der 2 Zeile und deswegen
benötige ich wohl die 2 hinter Listindex.
Ich hoffe das ist hilfreich.
Hier nochmal die Formel.
Dim zeil%, mzeil%, ustart%, uende%, farbi, etr%, mzei%
Private Sub CommandButton1_Click()
zeil = Me.ComboBox1.ListIndex + 2
Cells(zeil, 7).Select
End Sub
So kriege ich die gewünschte Spalte in der jeweiligen Zeile des Kunden selektiert.
Gruß
Hamza
![]() |
Betrifft: AW: Was willst du wohin schreiben?
von: Chris
Private Sub CommandButton1_Click()
Dim ArrayA(1 To 4) As Variant, ArrayB(1 To 233) As Variant, ArrayD(1 To 5) As Variant
Dim i As Long
zeil = Me.ComboBox1.ListIndex + 2
For i = 1 To UBound(ArrayA())
ArrayA(i) = Cells(zeil, i + 6)
Next i
For i = 1 To UBound(ArrayB())
ArrayB(i) = Cells(zeil, i + 12)
Next i
For i = 1 To UBound(ArrayD())
ArrayD(i) = Cells(zeil, i + 1)
Next i
For i = 1 To UBound(ArrayB())
Sheets("Einzeldaten").Cells(i + 7, 2) = ArrayB(i)
Next i
For i = 1 To UBound(ArrayA())
Sheets("Einzeldaten").Cells(i + 7, 1) = ArrayA(i)
Next i
For i = 1 To UBound(ArrayD())
Sheets("Einzeldaten").Cells(i + 7, 4) = ArrayD(i)
Next i
End Sub
Gruß
chris
![]() |
Betrifft: AW: Was willst du wohin schreiben?
von: Hamza
Geschrieben am: 02.07.2008 12:55:19
Hallo Chris,
klapt super!! vielen vielen Dank!!
genau so hatte ich mir das vorgestellt.
Jetzt hoffe ich das ich den Rest auch noch hinbekomme!
Danke nochmal...
Gruß
Hamza
![]() |