Riceman Geschrieben 24. Mai 2005 Geschrieben 24. Mai 2005 Hi@all, ich habe eine bestimmte Größe in einer Variablen und möchte mir abhängig davon einen bestimmten Bereich einer Tabelle markieren. D.h. (stark vereinfacht) Bereich = Range("A1:" & BezeichnungVonSpalte(Groesse) & Groesse) Kennt jemand eine Funktion, die so etwas bewerkstelligt? Ich würde es ja auch selber schreiben mit Chr(65 + Groesse), aber der Bereich kann auch über die 26 Zeichen hinausgehen, dann müßte ich mir "AA" etc zusammenbasteln, und ich würde den Code gerne möglichst schlank halten. Vielen Dank schonmal! MfG Mario Zitieren
-roTekuGeL- Geschrieben 24. Mai 2005 Geschrieben 24. Mai 2005 also ich hab bisher auch immer mit Chr gemacht wenn ichs gebraucht hab... bitte sagt mir jetzt nicht dass das auch leichter gegangen wäre !!!! Zitieren
Der Kleine Geschrieben 24. Mai 2005 Geschrieben 24. Mai 2005 Nö, muß IMO nicht sein Dim bereich1 As String Dim bereich2 As String bereich1 = "a1:a" & anz_sp + 1 & ",e1:f" & anz_sp + 1 bereich2 = "a1:a" & anz_sp + 1 & ",i1:k" & anz_sp + 1 range1=Workbooks(dat_name).Worksheets(Blatt).Range(bereich1) range2=Workbooks(dat_name).Worksheets(Blatt).Range(bereich2) funktioniert bei mir seit 2002. Zitieren
-roTekuGeL- Geschrieben 24. Mai 2005 Geschrieben 24. Mai 2005 funktioniert bei mir seit 2002. *kopf kratz* macht bei mir irgendwie gar nix :-? und ehrlich gesagt hätte mich das auch gewundert... kannst du mir mal bissl erklären? (also das coding... blick vor allem die bereiche nich) :beagolisc Zitieren
Der Kleine Geschrieben 24. Mai 2005 Geschrieben 24. Mai 2005 ok, ich ändere in Richtung unten nicht rechts . Aber mal ein kleines Zitat aus der Excel - VBA - Hilfe, welches helfen sollte: "Range" und "Cells" Verwenden Sie Range(Zelle1, Zelle2), wobei Zelle1 und Zelle2 Range-Objekte sind, die die Anfangs- und Endzellen festlegen, um ein Range-Objekt zurückzugeben. Im folgenden Beispiel wird die Linienart des Rahmens um die Zellen "A1:J10" festgelegt. With Worksheets(1) .Range(.Cells(1, 1), _ .Cells(10, 10)).Borders.LineStyle = xlThick End With Beachten Sie den Punkt vor jedem Aufruf der Cells-Eigenschaft. Der Punkt bewirkt, dass das Ergebnis der vorhergehenden With-Anweisung auf die Cells-Eigenschaft angewendet wird - in diesem Fall wird dadurch ausgedrückt, dass sich die Zellen im ersten Arbeitsblatt befinden (ohne den Punkt würde die Cells-Eigenschaft Zellen im aktiven Blatt zurückgeben). Zitieren
Riceman Geschrieben 25. Mai 2005 Autor Geschrieben 25. Mai 2005 hm.. so hilft es mir nicht wirklich, sorry. Range() möchte ja maximal zwei argumente. ich habe aber einen wilden bereich, bestehend aus vielen unzusammenhängenden zellen, muß mir also ein konstrukt á la Range("a1:b3,c5,d6:e7,...") zusammenbasteln. die zeilennummern sind dabei ja nicht das problem. Range("a1:b" & anz_sp - irgendwas & "...."), is mir schon klar. was ich brauche, sind die buchstaben, also A, B, C, D, ..., Z, AA, AB, ... in abhängigkeit von anz_sp. habe mir jetzt selber was zusammengebastelt, aber richtig sauber ist das nicht, also wenn es da vordefinierte funktionen gäbe, würde ich sie gerne kennen... Zitieren
-roTekuGeL- Geschrieben 25. Mai 2005 Geschrieben 25. Mai 2005 wuaaaahhh!!! ich habs!!!! Tabelle1.Range(Tabelle1.Cells(1, 1), Tabelle1.Cells(3, 3)).Select eigentlich einfach... wieso ich da nich früher drauf gekommen bin... jetzt musst du halt nur noch die zahlen in variablen packen und gut Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.