Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1624to1628
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

Set Range Stückliste von "Sl_Anf" bis "Sl_Ende"

Set Range Stückliste von "Sl_Anf" bis "Sl_Ende"
05.06.2018 08:38:28
"Sl_Anf"
Hallo zusammen,
mein Grundproblem: Ich möchte eine Range von einem Namen zu einem anderen Namen definieren.
Ich dachte, ich hätte das Problem schonmal gelöst mit
Set DateinamenRange = ActiveSheet.Range(Right(ThisWorkbook.Names("DateinamenMatrixAnfang").RefersTo, 4) & ":" & Right(ThisWorkbook.Names("DateinamenMatrixEnde").RefersTo, 4))
Ihr seht, da werden Strings editiert und immer die 4 letzten Zellen benutzt, das hat bei den "Dateinamen" auch gut funktioniert, aber unsere Stückliste hat leider mehr als 99 Zeilen und darum müsste man dann die letzten 5 Stellen verwenden. Und da dachte ich mir, es muss doch auch eine einfachere Lösung geben wie
Dim Stückliste as Range
Set Stückliste = ActiveSheet.Names("Sl_Anf":"Sl_Ende") 'oder so in der Art
Bin für jede Hilfe dankbar, allgemein verstehe ich die Funktionen .RefersTo, .Value, .Names etc. nicht wirklich bzw. finde die Arbeit damit nicht sehr intuitiv, gibt es vielleicht einen Artikel, der einem das Ganze Thema näherbringt?
Danke im Voraus!

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

Betreff
Datum
Anwender
Anzeige
AW: Set Range Stückliste von "Sl_Anf" bis "Sl_Ende"
05.06.2018 08:57:08
"Sl_Anf"
Hi Andreas
Sub t()
Dim DateinamenRange As Range
With ThisWorkbook.Worksheets("Tabelle1")
Set DateinamenRange = .Range(.Range("DateinamenMatrixAnfang"), .Range("DateinamenMatrixEnde"))
End With
MsgBox DateinamenRange.Address
End Sub
cu
Chris
AW: Set Range Stückliste von "Sl_Anf" bis "Sl_Ende"
05.06.2018 11:08:12
"Sl_Anf"
Hi Chris,
impressive! :-) Und vielen Dank für die schnelle Antwort, funktioniert wunderbar!
AAber, ich fand die beiden .Range(.Range(... hintereinander auffällig und habe versucht, das auseinanderzupflücken, um es zu verstehen.
Mein Code sieht so aus:
With ThisWorkbook.Worksheets("Stck Liste")
Set StücklistenRange = .Range(.Range("BIC_Stückliste_Anfang"), .Range("BIC_Stückliste_Ende"))
End With
MsgBox StücklistenRange.Address 'Die Ausgabe ist bei mir $A$12:$A$150, wunderbar!
Um es zu verstehen, habe ich folgende Ausgabe probiert:
MsgBox ThisWorkbook.Worksheets("Stck Liste").Range("BIC_Stückliste_Anfang") 'das hier funktioniert nicht, ich hätte aber als Ausgabe $A$12 erwartet, warum ist dem nicht so?
Anzeige
AW: Set Range Stückliste von "Sl_Anf" bis "Sl_Ende"
05.06.2018 13:18:45
"Sl_Anf"
Hi
Das Range-Objekt kannst du nicht in einer MsgBox ausgeben, die Adresse schon.
MsgBox ThisWorkbook.Worksheets("Stck Liste").Range("BIC_Stückliste_Anfang").Address
Hier noch ein anderes Beispiel:
Sub t()
MsgBox Range(Range("A1"), Range("C3")).Address
End Sub
cu
Chris

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige