Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
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

Bereiche benennen

Bereiche benennen
Alex
Hallo zusammen,
ich muss mich beruflich mit VBA intensiver beschäftigen und habe bisher noch gar nix mitgemacht und auch keine Kenntnisse. Alle Code-Stücke habe ich mir aus Büchern oder aus dem Netz geholt, was bisher auch gut funktionierte, aber jetzt habe ich ein Problem, bei dem ich nicht weiterkomme. (Vielleicht liegts auch nur am Montag. :-( )
Ich muss mit einem Makro einen Bereich benennen, der aber immer verschieden lang ist. Meine Idee war jetzt, dass mir der Makro die letzte Zeile ausgibt (weil Anfangszeile immer gleich) und ich dann über eine weitere Funktion den Bereich benennen kann.
Die letzte Zeile gibt er mir aus, aber wie mache ich daraus jetzt einen Bezug für die Namensgebung?
Hier mein bisheriger Code (der bis zu "--" auch gut funktioniert):
---------------------------------------------------------------------
Dim letzteZeile As Integer
letzteZeile = Workbooks("0020 Belgium 2010.xls").Worksheets("TM Data").Cells(Rows.Count, 7).End(xlUp).Row
Worksheets("TM Data").Range("J12").Activate
Range("J12") = letzteZeile
'Bereiche benennen
"--" 'ActiveSheet.Range("G2:letzteZeile").Name = "BelReclStatMar"
"--" 'ActiveSheet.Range("H2:letzteZeile").Name = "BelAmountMar"
---------------------------------------------------------------------
Das Problem ist wohl, dass Excel irgendwie gesagt bekommen muss, dass "G2:letzteZeile" als Bezug anzusehen ist und ich keine Ahnung habe wie das gehen soll.
Die letzte Zeile ist in G und H jeweils gleich, also ich muss irgendwie das G bzw H mit dem Zahlenwert von "letzteZeile" zusammenfummeln.
Schon mal tausend Dank für Eure Hilfe.
Alex

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bereiche benennen
08.03.2010 12:23:17
Hajo_Zi
Hallo Alex,
ActiveSheet.Range("G2:g" & letzteZeile).Name = "BelReclStatMar"

Namen dynamisch als Formel
08.03.2010 12:35:23
Renee
Hi Alex,
Vielleicht brauchst du dazu immer noch kein VBA, denn wenn der Bereich lückenlos ist, kannst du das auch mit einem 'dynamisierten' Namen machen, in der Form (für BelReclStatMar):
=BEREICH.VERSCHIEBEN(Tabelle1!$G$2;;;ANZAHL2(Tabelle1!$G:$G)-1)
GreetZ Renée
Variable Bereiche benennen
08.03.2010 12:31:16
NoNet
Hallo Alex,
das kannst Du folgendermaßen lösen :
Sub VariableBereichsnamen()
Dim letzteZeile As Integer  'Variable für letzte Zeile der Spalte G
Dim wb1 As Workbook         'Variable für Arbeitsmappe
Dim ws1 As Worksheet        'Variable für Tabellenblatt
Set wb1 = Workbooks("0020 Belgium 2010.xls")    'Name der Arbeitsmappe
Set ws1 = wb1.Sheets("TM Data")                 'Name des Tabellenblattes
letzteZeile = ws1.Cells(Rows.Count, 7).End(xlUp).Row
ws1.Range("J12").Activate
Range("J12") = letzteZeile
'Bereiche benennen
With wb1 'Alle folgenden Befehle gelten für die Arbeitsmappe
.Names.Add "BelReclStatMar", Range("G2:G" & letzteZeile)
.Names.Add "BelAmountMar", Range("H2:H" & letzteZeile)
End With
End Sub
Die Objekt-Variablen wb1 und ws1 stehen stellvertretend für die Arbeitsmappe (WorkBook) bzw. das Tabellenblatt (WorkSheet). Über diese Methode musst Du den Namen der Mappe bzw. des Blattes später nur einmalig anpassen (in der entsprechenden SET ... -Zeile), und nicht an zig Stellen, wenn sich der Name irgendwann mal ändern sollte .
Gruß, NoNet
Anzeige
geht auch ohne VBA...
08.03.2010 12:41:46
Tino
Hallo,
 CDEFGH
1Anzahl BelReclStatMar:6 BelReclStatMarBelAmountMar
2Anzahl BelAmountMar:8 1a
3    a1
4    2b
5    b2
6    3c
7    c3
8     d
9     4
10      

Formeln der Tabelle
ZelleFormel
E1=ANZAHL2(BelReclStatMar)
E2=ANZAHL2(BelAmountMar)
Namen in Formeln
ZelleNameBezieht sich auf
E1BelReclStatMar=BEREICH.VERSCHIEBEN(Tabelle1!$G$2;;;VERWEIS(2;1/(Tabelle1!$G:$G<>"");ZEILE(Tabelle1!$G:$G))-1)
E2BelAmountMar=BEREICH.VERSCHIEBEN(Tabelle1!$H$2;;;VERWEIS(2;1/(Tabelle1!$H:$H<>"");ZEILE(Tabelle1!$H:$H))-1)
Namen verstehen

Gruß Tino
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige