aus nachfolgendem code geht hervor:
Bei Auswahl einer bestimmten Celle oder eines bestimmten Zellbereiches (za As Range, wobei nur Zellen ausgewählt werden können, die 66.75x45 groß sind) wird ein UserForm aufgerufen, in dem wiederum 1 Wert ausgewählt werden muß, der dann za zugewiesen werden soll.
za ist aber dem UserForm nicht bekannt. Was kann ich tun?
das ist der Code vom Blatt:
Public za As Range
-----------------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal za As Range)
If za.Width / za.Count = 66.75 And za.Height = 45 Then Artikelwahl.Show
End Sub
das ist der Code vom UserForm 'Artikelwahl':
Public za As Range
Option Explicit
------------------------------------------------------------------
Public Sub box1_KeyDown(ByVal Taste As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case Taste
Case 13 'Enter
Range("N6").Value = box1.ListIndex
Range("N7").Value = box1.Value
!!!Range(za.Address).Value = box1.Value!!!
Unload Me
Case 27 'ESC
Unload Me
End Select
End Sub
Die Zeile mit den 6x! ist die um die es geht.
!!!Range(za.Address).Value = box1.Value!!!
Wenn ich aber statt dessen "Range(za.Address).Value = Range("N7").Value" in der ersten Routine nach der If Anweisung, also nach dem Userform, aufrufe, geht es.
Ich möchte aber gern den "Umweg" über N7 vermeiden!! Habt ihr eine Idee?
Gruß Micha