Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
720to724
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
720to724
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige