Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1432to1436
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

Arrays kopieren

Arrays kopieren
24.06.2015 19:51:41
Timm
Hallo miteinander,
ich habe gestern schon einmal eine Frage gestellt, die mir auch blendent beantwortet wurde.
Ich habe allerdings noch eine weitere Frage, die ich mit meinen VBA Kenntnissen nicht beantworten kann.
Den Aufbau der Excel-Mappe entnehmen Sie bitte dem Download-Link.
Grundsätzlich möchte ich, dass mir der Code ein Array von einem anderen Blatt in das erste Blatt kopiert. Dazu gibt es aber noch ein paar Einschränkungen:
Im erste Blatt "Menue" gibt es ein CommandButton hinter dem eine Suchmaske mit zwei ComboBoxen hinterlegt ist. in ComboBox1 können die Blätternamen ausgewählt werden. In ComboBox2 die in dem ausgewählten Blatt eingefügten Werte (Das wird deutlich klarer, wenn man sich die Mappe ansieht)
Ich möchte nun, dass wenn man auf den Suchen Button drückt der Code mir das jeweilige Array unter dem Wert in das Blatt "Menue" in das dafür vorgesehene Array schreibt.
Wenn ich also in der UserForm "Stadt" "Stadt2" auswähle, soll mir das Array (41,42,43,44) in "Menue" "Zielarray" kopiert werden.
Ich habe auch eine Idee, wie der Code funktionieren könnte, doch durch meine etwas spärlichen VBA Kenntnisse ist es mir nicht möglich ihn umzusetzen:
1. Nehme den Wert aus ComboBox1 und gehe in dieses Blatt
2. Nehme den Wert aus ComboBox2 und gehe an die Position in dem vorherig ausgewählten Blatt an welcher der Wert aus Combobox2 steht.
3. Gehe von diesem Wert eine Zeile runter und kopiere (Das eingerahmte Array)
4. Füge es in "Menue" "Zielarray" ein

Die Datei https://www.herber.de/bbs/user/98447.xlsm wurde aus Datenschutzgründen gelöscht

Ich hoffe es kann mir jemand helfen!:)

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arrays kopieren
25.06.2015 09:03:58
NoseT
Hallo Luschi,
vielen Dank für deine Hilfe! Der Code macht genau das, was ich brauche.
Hier der Code zum Verständnis:
Private Sub Suchen_Click()
Dim ws As Worksheet, _
rg1 As Range, rg2 As Range, rg3 As Range
Dim s As String
s = Me.ComboBox2.Value
If s  "" Then
Set ws = ThisWorkbook.Worksheets(Me.ComboBox1.Value)
Set rg1 = ws.Range("3:3")
--- Set rg2 = rg1.Find(s, , xlValues, xlWhole, xlByColumns, xlNext, False, , False)---
If Not rg2 Is Nothing Then
Set rg3 = rg2.Offset(1, 0).Resize(2, 2)
rg3.Copy Worksheets("Menue").Range("D4")
End If
End If
Set rg1 = Nothing
Set rg2 = Nothing
Set rg3 = Nothing
Set ws = Nothing
End Sub
Ich verstehe den Code auch soweit, nur die "Find" Zeile mit den vielen Werten in der Klammer verstehe ich nicht. Ich habe sie im Code markiert.
Meine Interpretation ist folgende:
1. Nehme den Wert aus s (Der Suchbegriff aus ComboBox2)und durchsuche "rg1=ws.Range("3:3")"
Und jetzt weiß ich auch nicht mehr weiter...Warum kommen dann zwei Klammern hintereinander und was bedeuten die x1... Befehle und die beiden False am Ende (Die stehen bestimmt für eine Suchart ähnlich wie bei SVERWEIS)
Desweiteren ist es möglich in die Resize Funktion noch einzubauen, dass er die nächstfolgende Zeile nur kopieren soll, wenn dort ein Wert vorhanden ist? Oder braucht die Resize Funktion stets einen Absoluten Wertebereich um Arbeiten zu können?)
Vielen Dank:)

Anzeige
AW: Arrays kopieren
25.06.2015 12:05:00
Luschi
Hallo NoseT,
sollte Deine F1-Taste nicht klemmen, dann stell doch mal den Cursor in den Vba-Code .Find
und drücke auf diese Taste - da wird Dir geholfen.
Ansonsten schaue hier mal nach:
https://msdn.microsoft.com/de-de/library/office/ff839746%28v=office.15%29.aspx
Ist zwar für Excel 2013, aber in der 2010er Version ist das genauso.
Da der 'Vba-Find-Befehl' sich nach den Einstellungen des Suchbefehls auf der Excel-Oberfläche richtet (Strg + F), ist es besser, in Vba alle verfügbaren Parameter festzulegen. Macht man es in der richtigen Reihenfolge, kann man auf die Parameternamen verzichten!
Gruß von Luschi
aus klein-Paris
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige