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