Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Namen für Bereich in VBA verwenden

Namen für Bereich in VBA verwenden
25.01.2006 15:11:07
Erwin
Hallo!
Ich habe in einem Excel-Blatt den Bereich A1 bis BZ1000 mit dem Namen "Verbrauch" belegt. Unter VBA habe ich mir nun eine eigene Funktion gebaut, die auf diesen Bereich zurückgreifen soll. Wie schaffe ich es, dass der Bereich mit dem Namen "Verbrauch" in untenstehender Funktion den Platz der Variable "bereich" einnimmt? Momentan übergebe ich den Bereich immer noch beim Aufruf der Funktion, was etwas umständlich ist.

Function test(nummer, werk, bereich, monat)
Dim C As Range
Dim offsetweite
offsetweite = monat * 2 + 8
For Each C In bereich.Cells
If C = nummer Then
If C.Offset(0, 2) = werk Then
menge = C.Offset(0, offsetweite)
preis_vor = C.Offset(0, offsetweite - 1)
menge_vor = C.Offset(0, offsetweite - 2)
mengeneffekt = preis_vor * (menge - menge_vor)
Exit Function
End If
End If
Next C
End Function

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namen für Bereich in VBA verwenden
25.01.2006 15:25:23
PeterW
Hallo Erwin,
versuch es mal mit:
For Each C in Range("Verbrauch")
Gruß
Peter
AW: Namen für Bereich in VBA verwenden
25.01.2006 15:43:50
Erwin
Danke für die schnelle Antwort. Funktioniert einwandfrei bisher!
Habe aber noch eine weitere Frage: Ich habe über Einfügen - Namen auch eine Variable "aktuellesJahr" festgelegt, die den Wert einer Zelle enthält. Wie kann ich in der in meinem vorherigen Beitrag aufgeführten Funktion, denn auf diese Variable zugreifen.
Beispiel: ich will in der Zeile
mengeneffekt = preis_vor * (menge - menge_vor)
noch ein * aktuellesJahr einbinden, also
mengeneffekt = preis_vor * (menge - menge_vor) * aktuellesJahr
Anzeige
AW: Namen für Bereich in VBA verwenden
25.01.2006 15:54:19
PeterW
Hallo Erwin,
analog zur vorherigen Antwort:
mengeneffekt = preis_vor * (menge - menge_vor) * Range("aktuellesJahr")
Gruß
Peter
AW: Namen für Bereich in VBA verwenden
25.01.2006 17:22:12
ERwin
Auch das funktioniert! Danke!
Wenn du mir jetzt noch meine letzte Frage beantwortest, bist du mein neuer Gott :-)
Mein Problem ist momentan noch, dass die Funktion zwar funktioniert, wenn ich aber den Wert für "aktuellesJahr" in dem Excel-Blatt abändere, passiert in den Feldern wo ich die Funktion "mengeneffekt" anwende nichts. Gehe ich dann mit F2 in eines dieser Felder und bestätige mit Enter so übernimmt er die Änderungen. Habe es schon mit F9 probiert, aber das hilft auch nichts.
Gruß
Erwin
Anzeige
AW: Namen für Bereich in VBA verwenden
25.01.2006 17:27:49
PeterW
Hallo Erwin,
schreib als erste Zeile in deiner Function:
Application.Volatile
Gruß
Peter
AW: Namen für Bereich in VBA verwenden
25.01.2006 15:33:11
Eugen
hi

Sub t
Dim c As Range
For i = 1 To ActiveWorkbook.Names.Count
If ActiveWorkbook.Names(i).Name = "Verbrauch" Then Exit For
Next i
For Each c In ActiveWorkbook.Names(i).RefersToRange.Cells
c.Value = c.Value + 1
Next c
End Sub

mfg
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige