Herbers Excel-Forum - das Archiv

bei klick namen in zelle uebertragen (langer code)

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

Betrifft: bei klick namen in zelle uebertragen (langer code)
von: roland_k

Geschrieben am: 24.03.2005 21:24:08
hi zusammen
habe da ne beispieldatei geschrieben
https://www.herber.de/bbs/user/20141.xls
ich wollte gerne den dahinterliegenden code verkuerzen oder ev die problematik anders aufbauen
bitte kein doppelklick oder combobox
so wie im beispiel sollte das laufen aber der code wird unheimlich lang
danke wenn sich das jemand anschaut
gruss roland_k
Bild

Betrifft: AW: bei klick namen in zelle uebertragen (langer code)
von: Beni

Geschrieben am: 24.03.2005 21:55:34
Hallo Roland,
Gruss Beni
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim zelle As Range
'+++++++++++++++namen eintragen+++++++++++++++++++++++
For nz = 2 To 8 Step 2
For ns = 1 To 13 Step 3
Set zelle = Cells(nz, ns)
If Not Intersect(Range(Target.Address), zelle) Is Nothing Then
If Cells(3, 16) = "" Then
Cells(3, 16).Value = zelle
Else:
If Cells(3, 22).Value = "" Then
Cells(3, 22).Value = zelle
If Cells(3, 16) = Cells(3, 22) Then
MsgBox "name schon an platz1"
Range("V3:AA4").Select
Selection.ClearContents
End If
Else
If Cells(3, 28).Value = "" Then
Cells(3, 28).Value = zelle
If Cells(3, 16) = Cells(3, 28) Then
MsgBox "name schon an platz1"
Range("AB3:AG4").Select
Selection.ClearContents
End If
If Cells(3, 22) = Cells(3, 28) Then
MsgBox "name schon an platz2"
Range("AB3:AG4").Select
Selection.ClearContents
End If
End If
End If
End If
End If
Set zelle = Nothing
Next ns
Next nz
End Sub

Bild

Betrifft: AW: sehr kleiner Code
von: RAnton

Geschrieben am: 24.03.2005 22:20:03
Hallo Roland
einfacher Code, wenn du die Hintergrundfarbe der Zelle als Indiz nimmst
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim zelle As Range
Dim i As Integer
'+++++++++++++++namen eintragen+++++++++++++++++++++++
If Target.Interior.ColorIndex = 44 And Target.Resize(1, 1).Value <> "" Then
For i = 0 To 12 Step 6
If Cells(3, 16 + i).Value = "" Then
Cells(3, 16 + i).Value = Target.Value
GoTo weiter
End If
Next
MsgBox "Alles schon belegt"
weiter:
End If
End Sub

Gruß
Anton
Bild

Betrifft: genial ...aber ??
von: roland_k
Geschrieben am: 25.03.2005 09:36:40
hi anton
sehr gut das funkts aber welche farben sind masgebend
ausgangszelle die ich klicke oder empflängerzelle??
danke gruss roland_k
Bild

Betrifft: sehr gute antwort danke beni**frohe ostern**
von: roland_k
Geschrieben am: 25.03.2005 09:39:12
hi beni
danke das funkt sehr gut ...
frohe ostern
 Bild
Excel-Beispiele zum Thema "bei klick namen in zelle uebertragen (langer code)"
Positionen einzelner Zeichen in langer Zeichenfolge auslesen