Bereichsnamen

Bild

Betrifft: Bereichsnamen
von: Detlef Lange
Geschrieben am: 12.11.2003 19:50:35

Hallo ihr Spezi's,
ich habe mal wieder ein problem. ich möchte wenn jemand in meine tunierauswertung einen namen eingibt diesen als bereichmarkieren und im namensfeld auswählen können. soweit sogut, aber die namen dürfen nur an bestimmten stellen eingetragen werden, wenn das nicht der fall ist soll der name nicht übernommen werden.
also die namen sollen in den bereich: c5- c521 eingegeben werden, aber nur alle 4 zeilen also c5,c9,c13 usw. wenn eine eintragung auserhalb der spalte c erfolgt soll das makro beendet werden(wichtig für die ergebnisseintragungen.
ich hoffe ich habs nicht zu konfuss aufgeschrieben!
gruß und dank
detlef

Bild


Betrifft: AW: Bereichsnamen
von: ChrisL
Geschrieben am: 12.11.2003 19:58:55

Hi Detlef

Da du VBA Kenntnisse hast, erlaube ich mir nur einen Ansatz zu liefern...

Ein Worksheet_Change Ereignis mit der Einschränkung:
If Target.Column = 3 and Target.Row >= 5 and Target.Row <= 521 Then
...
End If

Nur alle 4 Zeilen solltest du mit dem Befehl 'Mod' erreichen.

Gruss
Chris


Bild


Betrifft: AW: Bereichsnamen
von: Detlef
Geschrieben am: 12.11.2003 20:07:11

Hallo und danke, aber mit dem mod befehl kann ich nichts anfangen
gruß detlef


Bild


Betrifft: Online Hilfe....
von: Ramses
Geschrieben am: 12.11.2003 20:09:20

Hallo

Auszug aus der EXCEL Hilfe

--------------------------------

Mod (Operator)


Gibt den Rest einer ganzzahligen Division zweier Zahlen zurück.

Syntax

Ergebnis = Operand1 Mod Operand2

Die Syntax des Operators Mod besteht aus folgenden Teilen:

Teil Beschreibung
Ergebnis Erforderlich. Eine beliebige numerische Variable.
Operand1 Erforderlich. Ein beliebiger numerischer Ausdruck.
Operand2 Erforderlich. Ein beliebiger numerischer Ausdruck.



Bemerkungen

Der Modulo-Operator (oder Rest-Operator) dividiert Operand1 durch Operand2, rundet dabei Fließkommawerte zu ganzen Zahlen und gibt nur den Rest als Ergebnis zurück. Das Ergebnis des folgenden Ausdrucks A () ist zum Beispiel 5.

A = 19 Mod 6.7

Ergebnis hat im allgemeinen den Datentyp Byte, Integer oder Long bzw. den Typ Variant mit dem Untertyp Byte, Integer oder Long, auch wenn Ergebnis keine ganze Zahl ist. Alle Nachkommastellen werden abgeschnitten. Wenn jedoch mindestens ein Ausdruck ein Null-Ausdruck ist, enthält Ergebnis ebenfalls Null. Wenn ein Ausdruck den Wert Empty hat, wird er als 0 interpretiert.

-------------------------------------

Gruss Rainer


Bild


Betrifft: AW: Online Hilfe....
von: Detlef
Geschrieben am: 12.11.2003 20:22:09

hallo,
das hat mich auch noch nicht weitergebracht, wie krig ich das hin das nur zeile 5,9,13 usw bis 521 als richtig interprtiert werden(also jede 4. zeile)?


Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo end1
Dim oName As Name
ze = Target.Row
sp = Target.Column
If sp = 3 And ze >= 5 And ze <= 522 Then
If sp = 3 Then
    For az = 1 To Len(Cells(ze, sp))
    If Mid(Cells(ze, sp), az, 1) = Chr$(32) Then GoTo wei1
    azx = azx + Mid(Cells(ze, sp), az, 1)
    
    
wei1:
    'azx = Len(Cells(ze, sp))
    Next az
    Range(Cells(ze - 1, 3), Cells(ze + 1, 3)).Name = azx
    'Mid(Cells(ze, sp), 1, azx)
    
End If
End If
end1:
End Sub


danke
detlef


Bild


Betrifft: Kleine Mathematik :-)
von: Ramses
Geschrieben am: 12.11.2003 20:30:21

Hallo

If ActiveCell.Row - 5 Mod 4 = 0 Then

Ziehe von der aktiven Zeilennummer, z.B. 9, 5 ab und teile duch 4 bleibt ein Rest von 0
Ziehe von 321 5 ab und teile durch 4 bleibt als Rest ebenfalls 0

Verstanden ;-))

So kannst du ganz einfach die Zeilen rausfinden wo du einen Eintrag haben willst.

Gruss Rainer


Bild


Betrifft: AW: Kleine Mathematik :-)
von: Detlef
Geschrieben am: 12.11.2003 21:15:56

Danke,
manchmal steht man sich selbst im weg!!
nur der richtigkeit halber, es muss heissen:
If (ActiveCell.Row - 5) Mod 4 = 0 Then
und nochmal vielen vielen Dank
Gruß Detlef


Bild


Betrifft: Merci für's Feedback o.T.
von: Ramses
Geschrieben am: 12.11.2003 21:41:07

...


Bild

Beiträge aus den Excel-Beispielen zum Thema " Bereichsnamen"