Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1672to1676
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

Namen in Excel

Namen in Excel
09.02.2019 13:05:32
Tobias
Hallo,
ich habe noch ein Problem:
ich möchte in Excel einen eigenen Sudoku-Solver bauen.
Dazu habe ich
a) mehrere Tabellenblätter in der für jede Sudoku-Art (3x3, 4x4, 5x5, mit Diagonale etc.) ein Muster-Sudoku vorbereitet ist.
b) per VBA Namen erstellt, die die jeweiligen Zeilen, Spalten und Blöcke darstellen sollen (abhängig eben von der Grund-Größe)
Hier ein Auszug aus dem Code
        'gesamt
ActiveSheet.Names.Add "Feld_gesamt", Range(Cells(Start, Start), Cells(Ende, Ende))
'Zeilen
For Ze = Start To Ende
Bereich = ActiveSheet.Range(Cells(Ze, 2), Cells(Ze, Ende))
ActiveSheet.Names.Add "Zeile" & Ze - 1, Bereich
Next
'Spalten
For Sp = Start To Ende
Bereich = ActiveSheet.Range(Cells(2, Sp), Cells(Ende, Sp))
ActiveSheet.Names.Add "Spalte" & Sp - 1, Bereich
Next
'Quadrate
Z = 1
For Ze = Start To Ende Step Breite
For Sp = Start To Ende Step Hoehe
Bereich = ActiveSheet.Range(Cells(Ze, Sp), Cells(Ze + tmpBreite - 1, Sp +  _
tmpHoehe - 1))
ActiveSheet.Names.Add "Rechteck" & Z, Bereich
Z = Z + 1
Next
Next
"Bereich" stellt an der Stelle das entsprechende Tabellenblatt dar, damit die "gleichen Namen" auch vergeben werden können.
In Excel zeigt er mir auch jeden Namen (über 300 !) korrekt an, ich kann sie auswählen und er markiert mir dann auch die korrekten Bereiche.
Wenn ich jedoch das einmal testen möchte mit
Ber = Range("Zeile1")
kommt Laufzeitfehler 1004 "Die Methode 'Range' für das Objekt "_Global" ist fehlgeschlagen"
Wo liegt mein (Denk)Fehler?
Gruß
Tobias

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namen in Excel
09.02.2019 13:15:42
onur
"..."_Global" ist fehlgeschlagen" meint eigentlich: "Welches Blatt denn?"
AW: Namen in Excel
09.02.2019 13:20:29
onur
Range("Zeile1") OHNE Blattangabe bezieht sich immer nur auf das aktuelle Blatt, sonst immer angeben.
AW: Namen in Excel
10.02.2019 12:42:26
Tobias
Hallo,
ich habe mich noch einmal hingesetzt. Dabei ist mir aufgefallen, dass in "Namen" (in Excel) bei "Feld_gesamt" er die Koordinaten ($B$2:$J$10) anzeigt, bei den anderen Werten stand nur da "#NV,#NV,4,#NV..." (#NV wenn kein Wert in der Zelle war).
Warum er das so machte, weiß ich nicht. Ich habe jedoch noch einmal verglichen.
Und siehe da: bei "Feld_gesamt" habe ich den "Bereich" mit in die .Add-Zeile geschrieben
ActiveSheet.Names.Add "Feld_gesamt", Range(Cells(Start, Start), Cells(Ende, Ende))
während ich das bei den anderen 3 Bereichen in 2 Zeilen aufgeteilt habe.
Bereich = ActiveSheet.Range(Cells(Ze, 2), Cells(Ze, Ende))
ActiveSheet.Names.Add "Zeile" & Ze - 1, Bereich
Als ich jetzt alles ebenso in eine Zeile schrieb, vergab er alle Namen, so wie es tatsächlich sein sollte - also mit dem korrekten Zellbereich.
ActiveSheet.Names.Add "Zeile" & Ze - 1, ActiveSheet.Range(Cells(Ze, 2), Cells(Ze, Ende))
Danach konnte ich die Namen alle zum Einen in der Auswahlliste vom Namensfeld in Excel finden und auch per Code (entsprechend einem Beispiel aus dem Netz) ansprechen. (musste noch ein paar Koordinaten-Änderungen vornehmen, aber das hatte nichts mit dem Problem hier zu tun).
Ansprechen kann ich die Namen jetzt problemlos auch ohne Angabe des "Aktiven Tabellenblattes". (Ähnlich wie bei Cells, wo er eben die Zellen des aktiven Tabellenblattes automatisch nimmt - außer man sagt etwas anderes).
Eine Frage habe ich noch, aber dazu mache ich einen neuen Thread auf.
Danke für den Gedankenanstoß, der mich dazu gebracht hat, das Ganze genauer unter die Lupe zu nehmen.
Tobias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige