Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
552to556
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
552to556
552to556
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Nachfolger einer Zelle mit Namen ansprechen
25.01.2005 14:14:19
POWVorti
Hoi!
Eigentlich hab ich einigermaßen VBA Kentnisse, aber auch keine guten... Daher hab ich mich mal für "nein" entschieden...
Also, zum Thema:
Ich habe eine Zelle mit einem Namen versehen (Beispiel: Datei_Anfang). Wie kann ich jetzt, beispielsweise über eine Schleife, alle weiteren Zellen, die sich in den Zeilen darunter befinden ansprechen? Das muß ja irgendwie gehen wie beispielsweise:
ActiveWorkbook.Names("Datei_Anfang" + schleifenzaehler).RefersToRange.Value = "Test"
Nur genau das klappt eben nicht (unverträgliche Typen...). Wie ist die richtige Syntax dafür?
Danke + Gruß
AW: Nachfolger einer Zelle mit Namen ansprechen
25.01.2005 14:32:11
POWVorti
Ich heiße POWVorti *g*
Ne... ich glaube das bringt mir nichts... Hier geht es anscheinend um einen festen Bereich. Und mein Bereich soll variabel sein.
Ich gebe aber auch zu, ich verstehe Problematik und Lösungsvorschlag nicht ganz...
Mein Problem nochmal in anderen Worten: Ich möchte auf eine Zelle, die i Zeilen unter-/oberhalb von der Zelle mit dem Namen "Datei_Anfang" liegt, zugreifen.
Anzeige
AW: Nachfolger einer Zelle mit Namen ansprechen
bernd
hallo
so?
Option Explicit
Public

Sub test()
Dim zeile As Long
Dim spalte As Integer
zeile = Range("datei_anfang").Row
spalte = Range("datei_anfang").Column
Cells(zeile + i, spalte).Select 'oder was auch immer
End Sub

musst nur i noch festlegen.
bernd
AW: Nachfolger einer Zelle mit Namen ansprechen
25.01.2005 14:52:57
POWVorti
Mmmmh, okay, so gehts:
Dim zelle As Range
zeile = ThisWorkbook.Worksheets(1).Range("Datei_Anfang").Row
spalte = ThisWorkbook.Worksheets(1).Range("Datei_Anfang").Column
ThisWorkbook.Worksheets(1).Cells(zeile + i, spalte) = "Bis hierhin"
Ist nur schade... Ich dachte, man könnte direkt in der Zuweisung sagen: ab Zelle "Datei_Anfang" i Zeilen runter... Ist ein bißchen umständlich so...
Anzeige
AW: Nachfolger einer Zelle mit Namen ansprechen
harry
hi,
wenn ich das richtig verstehe, solltest du den anfang nicht als name einer zelle, sondern als range definieren. dann kannst du mit dem offset befehl auf alle anderen zellen zugreifen. ein beispiel:
Dim anFang As Range
Set anFang = ActiveSheet.Cells(1, 1)
For i = 1 To 10
anFang.Offset(rowoffset:=i, columnoffset:=0).Select
Next i
liebe grüße,
harry
AW: Nachfolger einer Zelle mit Namen ansprechen
25.01.2005 14:38:04
POWVorti
Nein... Ich habe einen festen Zellennamen definiert. Das will ich machen, um die Zelle variabel in der Tabelle verschieben zu können. Von daher bringt mir die Idee leider nichts.
Dann müßte ich trotzdem bei jeder Änderung das VBA-Makro pflegen...
Anzeige
AW: Nachfolger einer Zelle mit Namen ansprechen
bernd
hallo
geht z.B. auch so:
wenn ich dich richtig verstanden habe
Option Explicit
Public

Sub test()
Dim zelle As Range
For Each zelle In Range("datei_anfang" & ":a1000") 'a1000 anpassen
zelle.Value = 1 'oder was auch immer
Next
End Sub

bernd
AW: Nachfolger einer Zelle mit Namen ansprechen
25.01.2005 14:41:39
POWVorti
Das bringt mir leider auch nichts... So definiere ich einen fest vorgegebenen Bereich.
Ich will aber wirklich auf eine Zelle zugreifen, die i Zeilen unterhalb der Zelle mit dem Namen "Datei_Anfang" liegt...
Ziel ist folgendes: Kopieren aller Zeilen, ab der Beginnzeile, solange, bis eine Leerzeile gelesen wurde... Dadurch, daß der Aufbau des Blattes noch variabel ist und sich das Layout ändern kann, will ich mit eindeutigen Namen arbeiten
Anzeige
AW: Nachfolger einer Zelle mit Namen ansprechen
bst
Auch Hallo,
sowas vielleicht ?
Quelle und Ziel sind dabei Namen.
Range(Range("Quelle"), Range("Quelle").End(xlDown)).Copy Range("Ziel")
cu, Bernd
AW: Nachfolger einer Zelle mit Namen ansprechen
25.01.2005 15:46:45
POWVorti
Da krieg ich die Fehlermeldung:
Copymethode des Range-Objektes ist fehlerhaft...
AW: Nachfolger einer Zelle mit Namen ansprechen
bst
Hmm,
funktioniert hier bei mir mit Excel 2000 schon.
Habe leider kein 97 zum Testen.
Du hast schon "Quelle" und "Ziel" jeweils als Namen definiert, nicht ?
Was erhältst Du denn im VBA-Direktfenster bei den folgenden zwei Anweisungen ?
?names("Quelle").RefersTo
?names("Ziel").RefersTo
Gruß, Bernd
AW: Nachfolger einer Zelle mit Namen ansprechen
27.01.2005 08:25:57
POWVorti
Es erfolgt eine automatische Umwandlung zu:
Print Names("Name").RefersTo
Anschließend erhalte ich die Fehlermeldung:
Anwendungs- oder objektdefinierter Fehler
Anzeige
AW: Nachfolger einer Zelle mit Namen ansprechen
27.01.2005 08:30:31
POWVorti
Ich sollte den Haken bei "Frage noch offen" setzen...
AW: Nachfolger einer Zelle mit Namen ansprechen
bst
Morgen POWVorti,
neuer Tag, neuer Versuch :-)
Ich denke mal ich hab's jetzt.
Du rufts das Teil aus dem Klassenmodul einer Tabelle heraus auf, nicht ?
Das geht so leider nicht. Mach sowas. Siehe auch hier: https://www.herber.de/bbs/user/16974.xls
a) via Modul, IMHO der einfachere Weg:
Hinter die Tabelle:

Private Sub CommandButton1_Click()
Call CopyIt
End Sub

In ein Modul!:
Sub CopyIt()
Range(Range("Quelle"), Range("Quelle").End(xlDown)).Copy Range("Ziel")
End Sub
b) direkt hinter der TabelleXYZ:

Private Sub CommandButton1_Click()
Dim wbSrc As Worksheet, wbDst As Worksheet
Set wbSrc = ActiveWorkbook.Names("Quelle").RefersToRange.Parent
Set wbDst = ActiveWorkbook.Names("Ziel").RefersToRange.Parent
wbSrc.Range(wbSrc.Range("Quelle"), wbSrc.Range("Quelle").End(xlDown)).Copy wbDst.Range("Ziel")
End Sub

Falls jemand einen einfacheren Weg für b) kennt, bitte her damit ...
Gruß, Bernd
Anzeige
AW: Nachfolger einer Zelle mit Namen ansprechen
27.01.2005 14:44:20
POWVorti
Hi!
Ich war leider nicht im Unternehmen gestern, deswegen konnte ich erst heute auf den Beitrag zugreifen.
Ich kriege leider noch immer die fehlerhafte Copy-Methode als Fehler, deswegen denke ich, es liegt an Excel 97.
Ich hatte zwar gehofft, daß es einfacher gehen würde, als in den vorherigen Lösungen, auf nachfolgende Zellen zuzugreifen, aber eine andere Möglichkeit scheint es anscheinend leider nicht zu geben...
Anzeige
AW: Nachfolger einer Zelle mit Namen ansprechen
bst
Abend,
Funktionieren meine zwei Makros in der Beispiels-Datei wirklich nicht bei Dir mit Excel 97 ?
Falls nicht, nicht verzweifeln ;-)
Viele Wege führen nach Rom.
Schönen Abend noch,
Bernd

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige