Herbers Excel-Forum - das Archiv

VBA Problem

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: VBA Problem
von: Stefan

Geschrieben am: 18.12.2006 15:43:16
Hi..
Hab in einer Tabelle folgendes Makro:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then
Application.Goto Cells(1, WorksheetFunction.Match(Cells(1, 1), Range("b1:iv1"), 0) + 1), True
End If
End Sub

Es bewirkt dass wenn in A1 ein gewisser Wert steht, dass der Cursor in die Spalte springt, in der der Wert von A1 steht.
Nun hab ich versucht eine Combox zu machen, welche nach der Auswahl den gewählten Wert in A1 reinschreibt. Das funktioniert auch soweit.
Nur habe ich das Problem, dass in A1 zwar der richtige Wert steht, jedoch der Cursor NICHT mehr in die Spalte hüpft.
Habe das mit "Eigenschaften" der Combobox gemacht. Also LinkedCell = A4 und ListFillRange = A100:A150
Hat jemand eine Idee wie ich das besser machen könnte ?
Für eine Antwort wäöre ich sehr dankbar
LG Stefan
Bild

Betrifft: AW: VBA Problem
von: Luc:-?
Geschrieben am: 18.12.2006 15:56:01
Hallo Stefan,
manche Art von Änderungen löst das Ereignis nicht aus. Versuch's mal mit SelectionChange!
Gruß+MXM
Luc :-?
Bild

Betrifft: AW: VBA Problem
von: Stefan
Geschrieben am: 18.12.2006 15:59:44
Hey...
Wo bau ich den Befehl ein ? In der Combobox1 funkts net
LG Stefan
Bild

Betrifft: Du hast hier eine Ereignisprozedur gepostet,...
von: Luc:-?

Geschrieben am: 18.12.2006 16:45:10
...Stefan!
Wenn du im Editor mal rechts oben das Prozedurmenü öffnest, findest du auch alle anderen. Der "Befehl" ist eine davon.
MXM Luc :-?
PS: Mit Ereignisprozeduren kann man sich böse Fallen stellen!
Bild

Betrifft: AW: VBA Problem
von: Peter Feustel
Geschrieben am: 18.12.2006 15:58:20
Hallo Stefan,
ein Wert, der aus einer ComboBox übertragen wird, löst das Change-Ereignis nicht aus.
Das passiert nur bei unmittelbarer manueller Eingabe in das Tabellenblatt.
Viele Grüße Peter
Bild

Betrifft: AW: VBA Problem
von: Stefan
Geschrieben am: 18.12.2006 16:01:55
Hey...
gibts trotzdem irgendeine Möglichkeit das zu bewerkstelligen ?
LG Stefan
Bild

Betrifft: AW: VBA Problem
von: Peter Feustel
Geschrieben am: 18.12.2006 16:51:48
Hallo Stefan,
vielleicht geht es so:
https://www.herber.de/bbs/user/39088.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: VBA Problem
von: Ingo

Geschrieben am: 18.12.2006 16:53:44
Hallo Stefan,
warum nimmst Du nicht das Click-Ereignis der ComboBox an stelle des Change-Ereignisses des Blattes
Die Linkedcell-Eigenschaft der ComboBox vorher wieder löschen
Mit der rechten Maustaste auf das Register Deines Blattes > Code anzeigen auswählen und dann im VBA-Editor im Modul, folgendes Makro einfügen
Private Sub ComboBox1_Click()
If IsNumeric(Me.ComboBox1.Value) = True Then
Me.Cells(1, 1) = CInt(Me.ComboBox1.Value)
Else
Me.Cells(1, 1) = Me.ComboBox1.Value
End If
Application.Goto Cells(1, WorksheetFunction.Match(Cells(1, 1), Range("b1:iv1"), 0) + 1), True
End Sub

Name der ComboiBox noch evtl. anpassen
mfG
Ingo Christiansen
Bild

Betrifft: AW: VBA Problem
von: Ingo

Geschrieben am: 18.12.2006 17:05:44
Man kann die Zelle A1 auch gleich ganz aus dem Spiel lassen
Private Sub ComboBox1_Click()
If IsNumeric(Me.ComboBox1.Value) = True Then
Application.Goto Cells(1, WorksheetFunction.Match(CInt(Me.ComboBox1.Value), Range("b1:iv1"), 0) + 1), True
Else
Application.Goto Cells(1, WorksheetFunction.Match(Me.ComboBox1.Value, Range("b1:iv1"), 0) + 1), True
End If
End Sub

mfG
Ingo Christiansen
Bild

Betrifft: AW: VBA Problem
von: Stefan
Geschrieben am: 19.12.2006 09:31:26
Super... Funkt bestens !!!!!!
Danke
 Bild
Excel-Beispiele zum Thema "VBA Problem"
Verschnittproblem mit Solver lösen