Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
956to960
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
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spaltenbereiche definieren, gem. Zeile 1

Spaltenbereiche definieren, gem. Zeile 1
01.03.2008 10:46:35
Peter
Guten Tag
Ich habe eine Tabelle, in die ich immer wieder unterschiedliche Daten hineinkopiere. Nun möchte ich jeweils in Zeile 1 in verschiedenen Spalten eine Bezeichnung eingeben. Beim Verlassen der Tabelle sollte dann die entsprechenden Spalten ab Zeile 2 bis zum Ende der Einträge, der aus Spalte B ermittelt wird, den Bereichsnamen erhalten, der in Zeile 1 steht.
Mir ist nicht klar, wie die Schlaufe aussieht, damit alle Spalten mit einem Eintrag in Spalte 1 auch den entsprechenden Namen erhalten.
Danke für ein Feedback.
Peter

Sub worksheet_deactivate()
Dim lngSpa As Long, lngAnf As Long, lngEnd As Long
Dim Bereich As Range
lngAnf = 2  'Bereiche beginnen bei Zeile 2
lngSpa = 2  'Spalte B ist relevant zur Bestimmung der letzten Zeile
lngEnd = Sheets("AX").Cells(65536, lngSpa).End(xlUp).Row           'ermittelt letzten Eintrag  _
in Spalte B
Set Bereich = Worksheets("CW").Range("A" & lngAnf, "A" & lngEnd)
ActiveWorkbook.Names.Add _
Name:="ABC", _
RefersTo:=Bereich, Visible:=True
End Sub


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenbereiche definieren, gem. Zeile 1
01.03.2008 10:56:00
Renee
Hi Peter,
So ungefähr ist mir klar, was du machen willst.
Ich frage mich, werden denn die Spaltenbezeichnungen in der Zeile 1 immer wieder geändert?
Wenn ja, führt das dazu, dass sich deine Mappe mit immer mehr überflüssigen Namen aufgebläht.
Wenn nein, und die Spaltenwerte keine Leerzellen enthalten gib die Namen per Hand mit einer BEREICH.VERSCHIEBEN Formel an, dass sie sich dynamisch erweitern.
GreetZ Renée

AW: Spaltenbereiche definieren, gem. Zeile 1
01.03.2008 15:30:00
Peter
Hallo Renée
Grundsätzlich handelt es sich immer um die sieben gleichen Namen, was jedoch ändert ist die Spalte und die Länge. Bisher habe ich die Namen immer wieder manuell eingegeben, möchte dies nun jedoch automatisieren. Da ich nicht immer wieder neue Namen verwende, gibt es auch keine überflüssigen Namen.
Gruss, Peter

Anzeige
AW: Spaltenbereiche definieren, gem. Zeile 1
01.03.2008 17:19:11
Peter
Hallo
In der Zwischenzeit habe ich es die Routine entsprechend schreiben können. Nun sollte ich noch folgendes Problem lösen: Es könnte sein, dass auf der Zeile 1 irrtümlicherweise ein String eingegeben wird, der nicht als Bereichsname gültig ist. In diesem Fall möchte ich, dass eine msgbox erscheint mit dem Hinweis, dass in der entsprechenden Spalte, Zeile 1 ein ungültiger Name erfasst wurde.
Wie frage ich ab, ob der String als Bereichsname taugt?
Danke für eine Rückmeldung.
Peter
Option Explicit

Sub Worksheet_deactivate()
Dim lngSpa As Long, lngAnf As Long, lngEnd As Long, lngSpaEnd As Long, lngDef As Long
Dim i As Integer
Dim Bereich As Range
lngDef = 1 'vorgesehene Namen in Zeile 1
lngAnf = 2  'Bereiche beginnen bei Zeile 2
lngSpa = 2  'Spalte B ist relevant zur Bestimmung der letzten Zeile
lngEnd = Me.Cells(65536, lngSpa).End(xlUp).Row           'ermittelt letzten Eintrag in Spalte B
lngSpaEnd = Me.Cells(lngDef, 256).End(xlToLeft).Column
For i = 1 To lngSpaEnd
If Cells(1, i)  "" Then
MsgBox Cells(1, i).Value & " wird als Bereichsname festgelegt, resp. neu definiert"
Set Bereich = Me.Range(Cells(lngAnf, i), Cells(lngEnd, i))
ActiveWorkbook.Names.Add _
Name:=Cells(1, i).Value, _
RefersTo:=Bereich, Visible:=True
End If
Next
End Sub


Anzeige
AW: in der Zwischenzeit gelöst, owT
01.03.2008 21:12:27
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige