Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

transponieren mit combobox

Betrifft: transponieren mit combobox von: hmkotu@lycos.de
Geschrieben am: 01.07.2008 12:04:56

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
Geschrieben am: 01.07.2008 12:44:53

es würde auch eine alternative gehen


  

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
Geschrieben am: 01.07.2008 14:40:30

Hallo chris,

erstmal danke für deine Antwort,

ich hab in einem Tabellenblatt (Stammdaten) Kundendaten angelegt.
aus diesem Tabellenblatt sollen einzelne Dateien in das Tabellenblatt (Einzeldaten)
kopiert werden.

Die einzelnen Kunden sind untereinander aufgelistet, Die Einzelnen Kundendaten wie Adresse etc. sind
in der jeweiligen Zeile nebeneinander.

z.B.
A1 = Kundenschlüssel; B1= Name; C1 = Strasse; D1 = Ort usw.


Über einen Userform mit Combobox/Command Button springe ich zu dem gewünschten Kunden.

Jetzt möchte ich das er mir in der Zeile des jeweiligen Kunden die Spalten 7 bis 10 kopiert
und diese im Arbeitsblatt (Einzeldaten) unter A8 bis A11 einfügt.

Ich hoffe ich konnte mich verständlich ausdrücken.

Gruß

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
Geschrieben am: 01.07.2008 15:44:25

Hallo Hamza,

kann ich machen, dauert aber ein wenig. Noch eine Frage:

Wie bekommst du über ListIndex +2 die Zeilennummer, was steht in der Combobox bzw. wodurch wird die Zeilennummer generell festgelegt?

Gruß

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
Geschrieben am: 01.07.2008 18:09:37

servus Hamza,

müsste so passen, konnte mangels Daten nicht testen. Teste mal an einer Dummydatei.

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


 

Beiträge aus den Excel-Beispielen zum Thema "transponieren mit combobox"