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

VBA Combox

VBA Combox
07.04.2019 12:39:42
Michael
Hallo zusammen,
ich habe in Tabellenblatt "Quelle" in Spalte B die Abteilung und in Spalte C die dazugehörige Abteilungsnummer stehen.
Ich mochte nun mit folgenden Code die Abteilung auswählen und mir die dazugehörige Abteilungsnummer in der TextBox "AbteilungTextbox" anzeigen lassen.
Klappt aber leider nicht.
Die Abteilungen werden noch nichtmal in die Combobox eingelesen.

Könnte mir da jemand helfen?
Private Sub Abteilung_Change()
If Abteilung.ListIndex > -1 Then
AbteilungTextbox.Text = Tabellenblatt("Quelle").Cells(Abteilung.ListIndex + 1, 2)
Else
AbteilungTextbox = ""
End If
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Combox
07.04.2019 12:44:23
Werner
Hallo Michael,
und weshalb sollten die Abteilungen in die Combobox eingelesen werden - mit dem hier gezeigten Code auf jeden Fall nicht.
Lad mal deine Mappe hoch.
Gruß Werner
AW: VBA Combox
07.04.2019 23:05:50
Michael
Hallo zusammen, erstmal Danke für die Antworten.
Hier der Link zur Datei:
https://www.herber.de/bbs/user/128999.xlsm
Unabhängig von dem beschriebenen Problem, möchte ich auch noch, wenn ich nach E (Abt.) filtere, Z.B Abt. 3, ein Makro schreiben, was in dem Fall Spalte C:I und zusätzlich Spalte Z:AA kopiert ohne die ausgeblendeten Zeilen, bis zur letzten beschriebenen Zeile und mit dem Format in das Tabellenblatt Cockpit einfügt.
Wäre schön wenn Ihr auch dafür eine Lösung hättet. Ich schaffe es einfach nicht trotz mehrstündiger Versuche und Recherche im Netz.
Viele Grüße
Michael K.
Anzeige
AW: VBA Combox
08.04.2019 10:04:56
Werner
Hallo Michael,
hier jetzt mal wegen der Userform.
Private Sub Abteilung_Change()
If Me.Abteilung.ListIndex > -1 Then
Me.AbteilungTextbox.Text = Worksheets("Quelle").Cells(Me.Abteilung.ListIndex + 2, 3)
Else
Me.AbteilungTextbox = ""
End If
End Sub
Private Sub UserForm_Initialize()
With Worksheets("Quelle")
Me.Abteilung.List = .Range("B2:B" & .Cells(.Rows.Count, 2).End(xlUp).Row).Value
End With
End Sub
Das mit dem Filtern sehe ich mir später an.
Gruß Werner
AW: VBA Combox
10.04.2019 21:10:25
Michael
Hallo Werner,
danke für den Code!
Gibt es schon was neues in Sachen kopieren der Spalten?
Gruß
Michael
Anzeige
AW: VBA Combox
10.04.2019 23:01:17
Werner
Hallo Michael,
nur die ausgefilterten Datenzeilen oder auch die Zeilen 1-8 ?
Gruß Werner
AW: VBA Combox
10.04.2019 23:52:13
Werner
Hallo Michael,
hier mal der Code zum Kopieren des Filterergebnisses.
Public Sub Filter_kopieren()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
On Error GoTo Ausgang
Worksheets("2018").Range("C8").Select
If Worksheets("2018").FilterMode Then
Worksheets("Cockpit").Cells.Delete
'## Wenn ohne die "Kopfzeilen" (Zeilen 1-8)
'## kopiert werden soll, dann einfach diesen
'## Bereich hier löschen oder auskommentieren #########################
With Worksheets("2018")                                              '#
.Range("C1:AK8").Copy                                            '#
Worksheets("Cockpit").Range("A1").PasteSpecial Paste:=xlPasteAll '#
Application.CutCopyMode = False                                  '#
End With                                                             '#
With Worksheets("2018").AutoFilter.Range
.Offset(1).Resize(.Rows.Count - 1).Copy _
Worksheets("Cockpit").Range("A9")
End With
With Worksheets("Cockpit")
.Columns("J:Y").Delete
.Columns("AB:AK").Delete
.Columns("A:S").AutoFit
End With
End If
Ausgang:
On Error GoTo 0
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End Sub
Gruß Werner
Anzeige
AW: VBA Combox
11.04.2019 18:42:19
Michael
Hallo Werner,
erstmal Danke für deine Hilfe!
Bei Ausführung deines Codes passiert nichts.
Ich möchte nochmal erklären was ich gerne machen möchte.
1.Im Arbeitsblatt Cockpit möchte ich in Zelle A1 das Arbeitsblatt eintragen und in Zelle B1 die Abteilung.
2.Dann soll er mir in dem Arbeitsblatt was ich in A1 eingetragen habe die Zeilen C6:I8 kopieren.
2.Jetzt soll in Zeile 7 dieses Arbeitsblattes die Abteilung gesucht werden, die ich in Arbeitsblatt Cockpit Zelle B1 eingetragen habe, diese und die davor auch kopieren und das alle in Arbeitsblatt Cockpit ab D5 einfügen.
Ich hoffe ich mach dir nicht zu viel Arbeit damit.
Viele Grüße
Michael
Anzeige
AW: VBA Combox
11.04.2019 19:57:09
Werner
Hallo Michael,
und das hat jetzt bitte was mit Filtern zu tun?
Vielleicht liest du mal was du geschrieben hattest:
Unabhängig von dem beschriebenen Problem, möchte ich auch noch, wenn ich nach E (Abt.) filtere, Z.B Abt. 3, ein Makro schreiben, was in dem Fall Spalte C:I und zusätzlich Spalte Z:AA kopiert ohne die ausgeblendeten Zeilen, bis zur letzten beschriebenen Zeile und mit dem Format in das Tabellenblatt Cockpit einfügt.
Im Kaffeesatz lesen kann ich leider noch nicht.
Vorschlag:
Stell im Blatt Cockpit mal die Daten so zusammen, wie sie aussehen sollen und lad die Datei nochmal hoch.
Gruß Werner
Anzeige
AW: VBA Combox
12.04.2019 14:34:04
Michael
Hallo Werner,
hier die Datei nochmal überarbeitet.
https://www.herber.de/bbs/user/129111.xlsm
ich habe in das Arbeitsblatt Cockpit in den Kommentaren das reingeschrieben was ich gerne hätte und welche Probleme ich habe.
Tut mir leid wenn ich mich undeutlich ausgedrückt habe.
Im Tabellenblatt Cockpit muss es nicht unbedingt eine VBA Lösung sein!!!
Ich komme einfach in den Punkten nicht weiter.
Würde mich freuen wenn es so klappen würde, wie ich es gerne hätte.
Vielen Dank nochmal für deine Geduld und dein Hilfe!!!!
Viele Grüße
Michael
Anzeige
nimm bitte den Code...
11.04.2019 00:41:09
Werner
Hallo Michael,
...im anderen hatte ich noch einen Fehler drin.
Public Sub Filter_kopieren()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
On Error GoTo Ausgang
Worksheets("2018").Range("C8").Select
If Worksheets("2018").FilterMode Then
Worksheets("Cockpit").Cells.Delete
'## Wenn ohne die "Kopfzeilen" (Zeilen 1-8) kopiert werden soll, dann einfach diesen #####
'## den nachfolgenden Code löschen oder auskommentieren                                 '#
With Worksheets("2018")                                                                 '#
.Range("C1:AK8").Copy                                                               '#
Worksheets("Cockpit").Range("C1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats '#
Worksheets("Cockpit").Range("C1").PasteSpecial Paste:=xlPasteFormats                '#
Application.CutCopyMode = False                                                     '#
End With                                                                                '#
With Worksheets("2018").AutoFilter.Range
.Offset(1).Resize(.Rows.Count - 1).Copy _
Worksheets("Cockpit").Range("C9")
End With
With Worksheets("Cockpit")
.Columns("AB:AK").Delete
.Columns("J:Y").Delete
.Columns("C:K").AutoFit
End With
End If
Ausgang:
On Error GoTo 0
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End Sub
Gruß Werner
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige