Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1584to1588
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
Inhaltsverzeichnis

Namensfelder;suchen und ersetzen; befüllen Spalten

Namensfelder;suchen und ersetzen; befüllen Spalten
11.10.2017 15:49:25
Markus
Hallo liebe Community,
ich hätte 3 Anliegen mal an Euch wobei mir das erste sehr wichtig wäre; es geht um folgendes:
Namensfelder definieren
1. Ich möchte mir über ein ganzes Tabellenblatt Namen im Namensfeld vergeben, keine Bereiche, sondern jede Zelle soll einen Namen haben aufsteigend.
Bsp.: A1 soll Albert1 heißen, A2 dann Albert2,A20 dann Albert20, B1 dann Berta1 usw. das alles über alle Spalten und Zeilen
Im Makrorecorder habe ich folgenden Code aufgezeichnet:
ActiveWorkbook.Names.Add Name:="Albert1", RefersToR1C1:="=Tabelle1!R1C1"
Es geht aber auch:
ActiveSheet.Range("a1").Name = "Albert1"
oder
ThisWorkbook.Names.Add "Albert1", Tabelle1.Range("A1“)
Nun habe ich gelesen das man statt Range auch Cells verwenden kann gerade wenn man Variable dafür einsetzen möchte.
ActiveWorkbook.Names.Add Name:=Cells(i, 1), RefersTo:="Tabelle1!=Cells(i, 1)"
(Zeile und Spalte)
Mein Problem ist nun das ich das mit der Schleife nicht hinbekomme, das er den zugefügten Namen halt Aufsteigend (A1 Albert1; A2 Albert2 usw.) für das Tabellenblatt anwendet für die Namensvergabe. Wichtig ist mir dabei das halt die Namen dann auch in der Zelle oben links stehen im Namensfeld in dem man sie auch manuell vergeben kann.
Es geht mir nicht um Bereiche oder eigetragene Werte an sich in den Zellen auf die man mit .Value zugreifen könnte, sondern rein um ein nichtbeschriebenes Blatt dem ich Namen vergeben möchte. Die dann im Namensfeld (Name Box) oben stehen für die jeweilige Zelle und mit ENTER bestätigt werden. Und das halt dann für alle Spalten und Zeilen, also Spalte G wäre dann Gerd 1, Gerd2 usw.
2. Als zweites möchte ich ein suchen und ersetzen Makro indem ich die Namen anpassen kann.
Also suche alle A1 und ersetze mir die durch Albert1. Dabei wäre es schön wenn mir Excel die Kommentare nicht ersetzen würde. Dabei stelle ich mir das so vor dass eine Msgbox aufgeht wo man eingeben kann Suche Buchstabe A1 (zum Beispiel) und ersetzen ihn mit Albert1, mit Ok bestätigen und dann sollten alle A1 in Modulen und der Arbeitsmappe umgeschrieben sein. Wichtig wäre da noch das er zwischen Groß-und Kleinschreibung unterscheidet.
3. Drittens noch eine Frage: Wenn man einen Bereich füllen lassen möchte und man möchte entscheiden welche Spalte gefühlt werden soll in seiner Tabelle mit der von einer anderen Tabelle wie macht man sowas?
Über Range bestimme ich den Bereich, aber wie frage ich die genauen Spalten ab?
Bsp.: eine Tabelle mit 4 Spalten die gefüllt sind existiert. Ich möchte nun in meiner Tabelle nur bestimmte ausgewählte Spalten gefüllt haben, dabei benötige ich aber nur Spalte 2 und Spalte 4 von der ersten Tabelle in die meine. In meiner Tabelle sollen aber keine Leerspalten entstehen also hintereinander sollen die befüllt werden. Wie setze ich das in einem Makro um? Dabei wäre es von Vorteil wenn eine Abfrage käme, welche Spalten wollen sie füllen und man diese auswählen kann. Schön wäre auch wenn er die Spaltenbreite automaitsch noch anpassen würde, also das der Doppelklick auf die Spalte entfällt damit sie breiter wird und sich anpasst.
Das würde mich generell interessieren wie man die Spaltenbreite per Makro anpasst das diese ##### weggehen.
Bsp.: Ich möchte Spalte 1 bei mir mit Spalte 2 der vorgegebenen Tabelle befüllen. Ein Auswahlfenster erscheint wo ich eingeben kann.Sinngemäß, nimm spalte 2 von der ersten Tabelle und fülle dies in Spalte 1 meiner Tabelle. Der Fülplbereich dabei sollte variabel gehalten sein, da er sich von Zeit zu Zeit ändert (also mehr Zeilen übertragen werden dann)
Hoffe jemand kann mir da weiterhelfen.
Gruß
Markus

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namensfelder;suchen und ersetzen; befüllen Spalten
11.10.2017 16:04:16
yummi
Hallo Markus,
hier mal zu deinem Punkt 1 etwas:

Sub test()
Dim i As Long
Dim j As Integer
For j = 1 To 2
For i = 1 To 1000
Select Case j
Case 1:
ActiveWorkbook.Names.Add Name:="Albert" & i, RefersToR1C1:="=Tabelle1!R" & i & " _
C" & j
Case 2:
ActiveWorkbook.Names.Add Name:="Berta" & i, RefersToR1C1:="=Tabelle1!R" & i & "C" _
& j
Case Else
MsgBox "nicht definert"
End Select
Next i
Next j
End Sub
die 2 und die 1000 musst du dir anpassen.
und dann für jeds weitere j eine case Zeile schreiben und dort den Namen Anpassen
Gruß
yummi
PS: die sinnfreiheit des Vorhabens lasse ich mal offen
Anzeige
AW: Namensfelder;suchen und ersetzen; befüllen Spalten
11.10.2017 16:18:12
onur
Zu 2)
Der Debugger (VBA-Editor) hat so was fest eingebaut, heisst sinnigerweise "Suchen und Ersetzen".
AW: Namensfelder;suchen und ersetzen
11.10.2017 17:03:56
Markus
Danke yummi, oha sogar zwei Schleifen, aber genau das was ich gesucht hatte, vielen vielen Dank :)
Ich verstehe nur folgendes nicht in dem Code nicht: R" & i & "C"
Warum R und C? Hat das etwas mit diesem RefersToR1C1 zu tun, denn normalerweise reicht doch RefersTo:="=Tabelle1!$A1"?
und @ Onur
zu 2, Ja ich weis das es eine Suchen und Ersetzen Funktion in Excel gibt, hätte ich vielleicht noch mit dazu schreiben sollen, die ersetzt mir aber die Kommentare gleich auch mit wenn dort ein a b usw. vorkommt. Daher wäre es ja gut wenn das Makro zwischen Groß-und Kleinschreibung unterscheiden würde. Stichwort Case-Sensitiv und diese Kommentare auslassen würde.
Ich wollte das daher lieber über ein Makro machen statt alles immer zu kopieren in Excel ersetzen lassen über "Suchen und ersetzen" und dann wieder zurück zu kopieren. Daher die Frage nach dem Makro.
Gruß
Markus
Anzeige
AW: Namensfelder;suchen und ersetzen
11.10.2017 17:15:01
onur
Du schreibst "dann sollten alle A1 in Modulen und der Arbeitsmappe umgeschrieben" Also der Code.
Dan schreibst du " die ersetzt mir aber die Kommentare gleich auch mit "?- Wenn du Codeteile im VBA ersetzt, was hat das mit Kommentaren zu tuen?
Was willst du nun? in Excel Zellen ersetzen oder in VBA-Code Codeteile ersetzen?
Abgesehen davon beachtet Suchen und Ersetzen" im Editor und ebenso in Excel auch "Groß-Kleinschreibung".
AW: Namensfelder;suchen und ersetzen
11.10.2017 17:32:24
Markus
Hallo onur,
ja genau also alle A1 in allen Modulen und der Arbeitsmappe sollen dann zu Albert1 werden. Alle A2 zu Albert 2, alle D4 zu Dennis4 usw.
Mit dem Kommentar, das meinte ich folgendermaßen:
Ein Kommentar: 'alle aufgeführten Module werden exportiert.
Dann werden das a von "alle" das l von "Lars" zu Albert1 und Lars1 usw. auch ersetzt wenn ich alle A1 bis Ende ersetze und alle L1 bis Ende. Daher wäre es halt schön wenn das Makro zwischen a und A unterscheidet und halt die Kommentare nicht mit umwandelt. Also das ich dann als Kommentar 'Albert1Lars1Lars1Emil1 hätte statt das Wort "alle". Die Zellen A1-Z1 (beispielsweise sollen ja umbenannt werden nur die Kommentare halt nicht mit oder Funktionsnamen und dergleichen, halt nur die Zellen.
Wie gesagt ich möchte alle A1-A100 beispielsweise umbenennen durch das Makro "suchen und ersetzen" in Albert1-Albert100 in den Modulen und der Arbeitsmappe. In Excel selbst geht das nur mit kopieren und einfügen über die Funktion "suchen und ersetzen" und das wollte ich halt nicht, sondern das Makro sollte das erledigen, das man nicht immer kopieren und einfügen müsste. Hoffe das ist jetzt etwas verständlicher geworden warum und wie es funktionieren sollte.
Gruß
Markus
Anzeige
AW: Namensfelder;suchen und ersetzen
11.10.2017 17:56:45
onur
1)Wenn du auch nur etwas Ahnung hättest, wüsstest du dass "Suchen und Ersetzen" Groß-Kleinschreibung unterstützt UND du die Möglichkeit hast, das Feld "Nur ganzes Wort suchen" zu aktivieren, damit eben nich aus "alle" 'Albert1Lars1Lars1Emil1" wird.
2)Willst du mir echt erzählen, dass im Code von "Albert1" bis "Albert100" alle Möglichkeiten vorkommen?
(abgesehen von Berta1- bis Berta100 usw)? Schon mal etwas von Variablen gehört?
Lerne doch zuerst mal richtiges programmieren, bevor du dich an komplexere Codes herantraust. Wahrscheinlich könnte man deinen Code um minsetens 90% reduzieren, wenn man ihn vernünftig schreibt-
Da ich ehrlich gesagt keine Lust habe, beim kleinen 1x1 anzufangen, bin ich raus.
Anzeige
AW: Namensfelder;suchen und ersetzen
11.10.2017 18:14:09
Markus
Hi onur,
das weiß ich auch, aber darum geht es doch gar nicht, es geht darum dies per Makro zu realisieren, das man das kopieren und einfügen nicht ständig hat. Das Excel dies mitbringt ist mir wohl bewusst, nur sollte das Makro das dann auch können. Ich nutze selbst diese Suchen und ersetzen Funktion sehr oft bei Excel, aber für die Makros selbst wäre es halt gut ein Makro dafür zu haben wo man sich das ständige kopieren und ersetzen dann spart.
Trotzdem danke
Gruß
Markus
AW: Namensfelder;suchen und ersetzen
11.10.2017 18:14:44
Markus
Hi onur,
das weiß ich auch, aber darum geht es doch gar nicht, es geht darum dies per Makro zu realisieren, das man das kopieren und einfügen nicht ständig hat. Das Excel dies mitbringt ist mir wohl bewusst, nur sollte das Makro das dann auch können. Ich nutze selbst diese Suchen und ersetzen Funktion sehr oft bei Excel, aber für die Makros selbst wäre es halt gut ein Makro dafür zu haben wo man sich das ständige kopieren und ersetzen dann spart.
Trotzdem danke
Gruß
Markus
Anzeige
AW: Namensfelder
11.10.2017 18:10:02
Markus
Kleiner Nachtrag:
Hi yummi gibt noch ein kleines Problem zu 1:
hab jetzt bis Case 25 das ganze erweitert und erstmal bis Spalte 100 zwecks Test, er geht aber bei Buchstabe W (Case 23)also Spalte W in den Debugger und meint folgendes:
Laufzeitfehler '1004':
Der eigegebene Name ist ungültig
Mögliche Gründe
-Der Name beginnt nicht mit einem Buchstaben oder einem Unterstrich
-Der Name enthält ein Leerzeichen oder sonstige ungültige Zeichen
-Der Name steht in Konflikt mit einem integrierten Excel-Namen oder dem Namen eines anderen Objekts in der Arbeitsmappe.
Beenden Debuggen Hilfe
Ich habe es mit Unterstrich vornweg probiert: Also _Zelda und mit ungewöhnlichen Namen wie Wiesenkind, da ich dachte das Excel den Namen für eine spätere Spalte reserviert hat, aber immer hängt er sich bei Buchstaben W Case 23 auf. Woran kann das liegen? Ich brächte es bis Spalte AA also noch W Y X Z und AA.
Er geht also immer nur bis Spalte Y (bei mir Yola) und dann bricht er bei W ab.
Anzeige
AW: Namensfelder
11.10.2017 19:16:19
Markus
Korrektur: Meinte natürlich bis Zeile 100 nicht Spalte, da gehts derzeit ja nur bis W, leider.
AW: Namensfelder
11.10.2017 20:30:23
firmus
Hi Markus,
wenn Du schreibst "er geht nur bis Y frage ich mich, ob er nicht schon W hinter sich hat?
Alphabet: ...RSTUV W X Y Z man sieht W ist klar vor Y.
Hast Du eventuell einen Kopierfehler, beim 25x kopieren.
Gruß,
Firmus
AW: Namensfelder
11.10.2017 21:59:15
Markus
Hallo Firmus,
ich habs gerade nochmal probiert und ja es war ein Fehler drin, ich hatte die Buchstaben R,S,T vergessen, bei mir kam nach Q schon U, frag nicht wieso. Jedoch ist es nun noch schlimmer geworden. Da ich jetzt 3 Case mehr habe bricht er schon nach Q ab, also der Name "Qualle" den ich vergeben hatte funktioniert. Danach Ronald geht nicht mehr. Hab nachgeschaut das ist Case 18 wo er rausgeht, also bis Case 17 benennt er die Zellen noch das ist die Spalte Q, danach bricht er ab. Hat sich jetzt also alles um 3 Spalten noch nach vorn verschoben, da ich die 3 Case Fälle noch eingefügt habe. Nun bricht er also schon bei Spalte R ab. Insgesamt sind es nun 27 Case Fälle und er macht davon nur 17 leider. Kopierfehler ist keiner vorhanden, hab ich grad nochmal geprfüft, mir scheint er schafft den Rest nicht mehr umzubennen, waarum auch immer, das frag ich mmich halt.
Gruß
Markus
Anzeige
AW: Namensfelder
11.10.2017 21:59:31
Markus
Hallo Firmus,
ich habs gerade nochmal probiert und ja es war ein Fehler drin, ich hatte die Buchstaben R,S,T vergessen, bei mir kam nach Q schon U, frag nicht wieso. Jedoch ist es nun noch schlimmer geworden. Da ich jetzt 3 Case mehr habe bricht er schon nach Q ab, also der Name "Qualle" den ich vergeben hatte funktioniert. Danach Ronald geht nicht mehr. Hab nachgeschaut das ist Case 18 wo er rausgeht, also bis Case 17 benennt er die Zellen noch das ist die Spalte Q, danach bricht er ab. Hat sich jetzt also alles um 3 Spalten noch nach vorn verschoben, da ich die 3 Case Fälle noch eingefügt habe. Nun bricht er also schon bei Spalte R ab. Insgesamt sind es nun 27 Case Fälle und er macht davon nur 17 leider. Kopierfehler ist keiner vorhanden, hab ich grad nochmal geprfüft, mir scheint er schafft den Rest nicht mehr umzubennen, waarum auch immer, das frag ich mmich halt.
Gruß
Markus
Anzeige
AW: Namensfelder
11.10.2017 22:26:35
Markus
Nachtrag: Er bricht ab bei Spalte R wenn ich 1000 Zeilen eistelle. Stelle ich 100 oder 50 oder 10 Zeilen ein, dann geht er immer bis Y aber nie Spalte Z egal wie weit ich das noch runterregle. Stelle ich also 100 Zeilen ein, dann schafft er die Spalten Z und AA nicht mehr. Stelle ich 1000 Zeilen ein dann schafft er schon ab Spalte R es nicht mehr. Nun dachte ich ich verringle die Zeilenzahl, aber er springt jedesmal auch dann bei Spalte Z raus. Das ist mir gerade noch aufgefallen. Also muss es noch wo anders dranliegen, das er rausspringt, denn bei 10 Zeilen dachte ich er macht nun zumindest alle Spalten durch, aber tut er nicht, bricht nach Spalte Y ab und Z wird nicht mehr benannt.
Gruß Markus
Anzeige
AW: Namensfelder
12.10.2017 00:08:38
Christian
Hi Markus,
ich habe dir mal was zusammengebastelt.
Du kannst jetz eine Separat Tabelle anlegen und dort in der Spalte A eine Namensliste anlegen (mit Überschrift). Diese wird dann von einer Funktion ausgelesen. Ist einfacher als x-Select-Case Bedingungen zu schreiben...
Sub namenVergeben()
Dim i As Long
Dim j As Integer
' Zieltabelle Definiern
Dim strTabelle As String
strTabelle = "Tabelle5"
' Spalten
For j = 1 To 100
' Spaltennamen aus Liste auslesen
Dim strName As String
strName = getName(j)
If strName = "out of Range" Then
MsgBox "Es sind nur Namen für " & j - 1 & " Spalten definiert"
Exit Sub
End If
' Zeilen
For i = 1 To 20
' Namen hinzufügen
ThisWorkbook.Worksheets(strTabelle).Names.Add Name:=strName & i, _
RefersToR1C1:="=" & strTabelle & "!R" & i & "C" & j
' Namen zu Testzwecken in die Zielzelle schreiben
ThisWorkbook.Worksheets(strTabelle).Cells(i, j).Value = strName & i
Next i
Next j
End Sub
Private Function getName(ByVal i As Long)
' Namensliste in 'Tabelle2' Spalte A (mit Überschrift in A1)
With ThisWorkbook.Worksheets("Tabelle2")
Dim rngListe As Variant
With .Cells(1, 1).CurrentRegion
rngListe = .Resize(.Rows.Count - 1, 1).Offset(1)
End With
If i >= LBound(rngListe) And i 
Du musst a) das Tabellenblatt mit der Namensliste anlegen.
und b) Die Tabellennamen im Code anpassen und d) die Steuerungsvariablen j und i für Zeilen und Spalten.
Viel Spaß bei der Namensschalcht....
VG, Christian
AW: Namensfelder
12.10.2017 10:10:00
Markus
Hallo Christian,
vielen Dank erst mal. :)
Hab alles so gemacht wie Du geschrieben hattest.
Leider geht es bei dieser Funktion auch nur bis Spalte Q, dann kommt wieder dieser Laufzeitfehler 1004.
Bei Dir ist es nur zusätzlich noch so, das erstens die Namen in die Zellen geschrieben werden, was aber nicht schlimm ist, das kann ich löschen, jedoch wird erst wenn ich auf die entsprechende Zelle klicke zum Beispiel B3, der Name Berta3 nicht im Namensfeld angezeigt, sondern nur im Normalen Feld wo man Formeln und so etwas angibt. Vorher bei den Select Case-Funktion ging dies aber so wie ich es wollte, das wenn ich auf eine Zelle klicke der entsprechende Name in der Name Box oben links angezeigt wird, bei dieser Funktion hier geht das nicht mehr, das Namensfeld ändert sich nicht, wenn ich in eine andere Zeile oder Spalte klicke. Erst wenn ich dann zurück ins Namensfeld klicke macht er es, das wollte ich aber so nicht, sondern ich wollte dies so wie es schon ging bei der Select-Case Funktion. Trotzdem hab ich jetzt mal etwas herumexperimentiert und selbst wenn ich 27 Spalten eingebe und 10 Zeilen, was mir zwar viel zu wenig ist an Zeilen, aber zum Testen erst mal genügte, ist nach Spalte Q Schluss und der Laufzeitfehler erscheint wieder mal. Er benennt wieder nur 17 Spalten und bei Spalte R ist er draußen
Dabei markiert er folgende Stelle gelb im Code: (zu finden unter Namen hinzufügen bei den Kommentaren)
ThisWorkbook.Worksheets(strTabelle).Names.Add Name:=strName & i, _
RefersToR1C1:="=" & strTabelle & "!R" & i & "C" & j

Gruß
Markus
AW: Namensfelder
12.10.2017 10:13:59
yummi
Hallo Markus,
poste doch mal deine Datei, dann guck ich mal wo der laufzeitfehler herkommt. Du beschreibst irgendetwas dass nicht existiert, was das ist kann ich dir so aber nicht sagen
Gruß
yummi
AW: Namensfelder
12.10.2017 11:38:43
Markus
Hallo yummi :),
habe ich gemacht, hoffe das kommt an.
Hier der Link: https://www.herber.de/bbs/user/116899.xlsm
Du wirst merken das er bei Z "Zelda" rausspringt bei 1000 Zeilen. Bei 3000 Zeilen schon eher.
Es wäre denke ich gut wenn man die Spalten wählen könnte, dazu habe ich Christian etwas geschrieben, der auch eine Funktion gebastelt hatte.
Gruß Markus
AW: Namensfelder
12.10.2017 12:18:46
yummi
Hallo Markus,
wenn du schon mit copy und paste arbeitest, dann kopier auch richtig und vergiss nicht die :
Warum er bei dir rausspringt:
https://support.office.com/de-de/article/Spezifikationen-und-Beschr%C3%A4nkungen-in-Excel-1672b34d-7043-467e-8e27-269d656771c3
ich habe mal Tabelle2 benutzt und Namensliste1 erstellt (ist etwas kürzer ;-) ) so läuft es bei mir durch, aber mach dir mal den Spass und ruf den Taskmanager auf und schau dir die Leistung an, du wirst sehen wie der Arbeitsspeicher immer weiter hochläuft. Wenn voll, dann schluss
https://www.herber.de/bbs/user/116900.xlsm
Abgesehen davon macht es keinen Sinn jede Zelle (die ja schon einenn Namen hat) umzubennen und so den Speicher zu verbraten. Das heisst extra Namensbereiche und nicht Namenszellen, aber das musst du selber wissen.
Gruß
yummi
AW: Namensfelder
12.10.2017 11:24:10
Markus
Nachtrag:
Ich habe jetzt mal den Spaltennamen Rey durch Rosalinde ersetzt und nun läuft er durch bei 20 Zeilen. :)
Auch bei 1000 Zeilen funktioniert es nun und wenn er durchläuft dann werden auch die Namen korrekt im Namensfenster angezeigt, wenn man die entsprechende Spalte oder Zeile anklickt, das geht also auch, wenn er mal richtig durchläuft. 
Bei 3000 Zeilen (was in etwa mein Ziel war) ging er jedoch nur noch bis U mit und dann noch ca.2400 V und für W,X,Y,Z,AA jeweils noch die hundert hat er umbenannt, doch dann kam wieder dieser Laufzeitfehler 1004.
Habe das dann für die Select-Case-Funktion auch mal probiert und den Namen für die Spalte R auf Rosalinde ersetzt und dort geht er bis Spalte Y und ab Spalte Z streikt er bei 1000 Zeilen Vorgabe.
Nun habe ich mir folgendes überlegt, ich lösche alle Namen in der Namensliste in Spalte V nochmal (da nicht vollständig umbenannt), lösche in der Namensliste die Namen die er schon benannt hat und starte nochmal, doch da streikt er, wahrscheinlich wegen der ganzen Leerzeilen in meiner Namensliste dazwischen. Schreibe ich aber in Zelle A2 (A1 ist ja die Überschrift) die Namen für die Spalten V bis AA ein, dann macht er das zwar (ohne Leerzeilen in der Namensliste nun); habe es in ein neues Tabellenblatt geschrieben), aber alle Namen mit V stehen dann in der Spalte A statt Spalte V (er erkannte ja die Leerzeilen in meiner Namensliste nicht). Dort springt er im Debugger zu folgender gelb markierter Zeile in der get-Name Funktion:
rngListe = .Resize(.Rows.Count - 1, 1).Offset(1)
Nun denke ich man könnte diesen Laufzeitfehler beheben, indem man eine Auswahl treffen kann welche Spalte befüllt werden soll mit der Namensliste, also das ich zum Beispiel für den Namen Vera nun die Spalte V auswählen kann und wie viel Zeilen. Das würde meinen Punkt 3 „Befüllen von Bereichen in Spalten“, also wie man Spalten anspricht um sie zu befüllen und auszuwählen zu können auch entgegenkommen.
Quasi das ein Fenster aufgeht und abfragt:, welche Spalte wollen sie befüllen mit wie viel Zeilen und ich dann den Namen Vera für Spalte V wähle und die Zeilenanzahl angeben kann. Dann könnte ich das Stück für Stück erweitern ohne das dieser Laufzeitfehler wiederkommt für die letzten Spalten V bis AA, denn mit den Leerzeilen in meiner Namensliste geht es wie gesagt nicht und wenn ich sie ohne Leerzeilen aufschreibe und das Vera in Zelle A2 schreibe (also an den Anfang der Namensliste), dann tut er diese nicht in Spalte V umbenennen sondern in Spalte A, so dass dann in ZelleA1 der Name Vera1 steht was ich aber nicht möchte, sondern in Zelle V1 soll der Name Vera1 dann stehen.
Gruß
Markus
AW: Namensfelder
12.10.2017 12:59:48
Christian
Hallo Markus,
ich habe dir eine Beispieldate gebaut, in dem du die Namensvergabe
nochmal durchspielen kannst: https://www.herber.de/bbs/user/116901.xlsm
Bitte gehe den Code einmal durch und versuche das nachzuvollziehen!
Die grünen Zeilen sind Kommentare, die helfen dir beim Verständnis. Ausserdem dann man durch voranstellen
eines "'" Codzeilen auskommentieren. D.h. der Code wird dann als Kommentar interpretiert und nicht ausgeführt.
Zu den Abbrüchen kommt es u.a. dann wenn man Namen mit 3 Buchstaben verwendet. z.B. Udo oder Ali.
Grund es existieren Zelladressen wie z.B. UDO1 oder ALI256. Der Name darf also nicht gleich einer regulären Zelladresse wie A1 oder A123, oder eben UDO97 etc. sein.
Deinen Punkt "der Name Berta3 wird nicht im Namensfeld angezeigt" kann ich nicht nicht bestätigen, funktioniert bei mir und hat definitif nichts mit dem "Select Case" zu tun.
Der Sinn eine Tabelle derart mit Bereichsnamen zuzuballern erschließt sich mir übrigens auch nicht...
Viel Spaß beim probieren.
VG, Christian

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige