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

Forumthread: In Argument Bezug nehmen auf das Worksheet

In Argument Bezug nehmen auf das Worksheet
30.01.2014 17:09:48
Peter
Guten Abend
Mit untenstehendem Code wird die letzte verwendete Zelle in Spalte A im Worksheet "Aktive" mit "LastCellA" benannt.
Dazu übergebe ich einer Funktion die entsprechenden Argumente und das funktioniert so auch.
Nun habe ich mich gefragt, ob ich das 2. Argument auch anders übergeben kann, da ja die ganze Aktion mit diesem Sheet passiert. Aber hier wird ja wahrscheinlich so etwas wie "Me" oder ähnlich nicht geben, oder?
Gruss, Peter
With ThisWorkbook.Sheets("Aktive")
Call CreateBereich2222("LastCellA", ThisWorkbook.Sheets("Aktive"), .Range("_a_Pfad").Column, .Cells(.Rows.Count, 1).End(xlUp).Row, .Range("_a_Pfad").Column, .Cells(.Rows.Count, 1).End(xlUp).Row)
End With

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: In Argument Bezug nehmen auf das Worksheet
30.01.2014 19:19:57
Stefan
Hallo Peter,
das kommt darauf an, wo dein Code steht. Steht er in einem Tabellenmodul und heißt das auch noch "Aktive" dann funktioniert das mit Me. Was ich mich aber bei deinen Code frage: wieso übergibst Du die Spalte und die letzte verwendete Zeile der Spalte A zweimal? Einmal als drittes und viertes Argument und dann als fünftes und sechstes Argument.
Gruß Stefan

Anzeige
AW: In Argument Bezug nehmen auf das Worksheet
31.01.2014 07:29:04
Peter

Hallo Stefan
Ich brauche den Sub CreateBereich2222 in der Regel für meine Bereichsdefinitionen - und  _
vielfach umfassen die Bereiche mehrere Zellen. Im vorliegenden Fall wird halt nur eine Zelle benannt, weshalb je zwei Argumente gleich sind.
Danke und Gruss, Peter
Sub CreateBereich2222(strBereichsname As String, wkTabelle As Worksheet, spLinks As Long, zeUp  _
As Long, spRechts As Long, zeDown As Long)
Dim Bereich As Range
Set Bereich = Worksheets(wkTabelle.Name).Range(wkTabelle.Cells(zeUp, spLinks), wkTabelle.Cells( _
zeDown, spRechts))
ActiveWorkbook.Names.Add _
Name:=strBereichsname, _
RefersTo:=Bereich, Visible:=True
End Sub

Anzeige
AW: In Argument Bezug nehmen auf das Worksheet
31.01.2014 10:05:05
Rudi
Hallo,
warum übergibst du die Argumente 'falsch herum'?
Üblich ist Zeile, Spalte
Sub CreateBereich2222(strBereichsname As String, _
wkTabelle As Worksheet, _
ErsteZeile As Long, _
ErsteSpalte As Long, _
LetzeZeile As Long, _
LetzeSpalte As Long)
With wkTabelle
.Range(.Cells(ErsteZeile, ErsteSpalte), .Cells(LetzeZeile, LetzeSpalte)).Name =  _
strBereichsname
End With
End Sub
Sub xxxx()
Dim wks As Worksheet
Set wks = ThisWorkbook.Sheets("Aktive")
With wks
Call CreateBereich2222( _
"LastCellA", _
wks, _
.Cells(.Rows.Count, 1).End(xlUp).Row, _
.Range("_a_Pfad").Column, _
.Cells(.Rows.Count, 1).End(xlUp).Row, _
.Range("_a_Pfad").Column)
End With
End Sub

Alternativ kannst den Bere ich direkt an deine Funktion übergeben.
Sub CreateBereich2222(strBereichsname As String, rngBereich As Range)
With rngBereich
.Name = strBereichsname
End With
End Sub
Sub xxxx()
Dim wks As Worksheet
Set wks = ThisWorkbook.Sheets("Aktive")
With wks
Set rngBereich = .Range(.Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, .Range("_a_Pfad"). _
Column), _
.Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, .Range("_a_Pfad"). _
Column))
End With
CreateBereich2222 "LastCellA", rngBereich
End Sub

Gruß
Rudi

Anzeige
AW: In Argument Bezug nehmen auf das Worksheet
31.01.2014 11:26:20
Peter
Hallo Rudi
Dieser Sub ist noch von meinen Anfängen ...
Danke für die Erläuterung.
Gruss, Peter
;
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