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

Forumthread: Bereich mit "Cells" ansprechen

Bereich mit "Cells" ansprechen
09.09.2004 09:21:52
Harald
Hallo liebe Gemeinde
hab mal wieder ein kleines Problem was für euch wahrscheinlich gar keines ist.
Ich möchte gerne einen gewissen Bereich ansprechen.
Derzeit Verwende ich den Code: z.B.
Range("A2",Range("A65536").end(xlup))
nun will ich aber die Spalte variabel ansprechen. und zwar folgendermassen:
in B1 gebe ich die Spaltennummer ein(z.B. 20) und in dieser Spalte soll sich nun der Bereich befinden.
hab folgendes probiert, aber ich komm mit dem Bereich definieren nicht zurecht.
sub datenansprechen
dim intspalte as integer
dim bereich as range
intspalte = Range("B1").value 'Spaltenzahl
set bereich = Cells(7,intspalte),?
nun fehlt mir der Teil,mit der ich die letzte ausgefüllte Zelle des Bereiches definiere?
könnt mir jemand mal nen guten Rat geben
DANKE
Harald
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich mit "Cells" ansprechen
09.09.2004 09:29:23
GraFri
Hallo


Sub Bereich_ansprechen()
Dim x1  As Integer
Dim x2  As Integer
Dim y1  As Integer
Dim y2  As Integer
x1 = 1: y1 = 1
x2 = 5: y2 = 3
Range(Cells(y1, x1), Cells(y2, x2)).Select
End Sub
Mit freundlichen Grüßen, GraFri
Anzeige
AW: Bereich mit "Cells" ansprechen
09.09.2004 09:45:07
Harald
Hallo GraFi
du hast mir nun den entscheidenden Hinweis gegeben.
ich hab den Fehler begangen, das ich beim ansprechen des Bereiches das "RANGE" vergessen habe.
jetzt brauch ich nur mehr schauen wie ich die letzte beschriebene Zelle eruiere und dann funzt des SUPER
Dank dir recht herzlich
Harald
Anzeige
AW: Bereich mit "Cells" ansprechen
ypsilon
hi Harald
so vielleicht:
range(cells(erstezeile,erstespalte),cells(letztezeile,letztespalte))
cu Micha
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bereich mit "Cells" ansprechen in Excel VBA


Schritt-für-Schritt-Anleitung

Um einen Bereich in Excel VBA mithilfe von Cells zu definieren, kannst Du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.
  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
  3. Definiere Deine Variablen: Lege die Variablen für Deine Zeilen und Spalten fest.
  4. Setze den Bereich: Verwende Cells zur Definition Deines Bereichs.

Hier ist ein Beispielcode, der zeigt, wie Du den Bereich mithilfe von Cells definieren kannst:

Sub Bereich_ansprechen()
    Dim intspalte As Integer
    Dim letzteZeile As Long
    Dim bereich As Range

    intspalte = Range("B1").Value ' Spaltennummer aus B1 holen
    letzteZeile = Cells(Rows.Count, intspalte).End(xlUp).Row ' Letzte ausgefüllte Zelle ermitteln
    Set bereich = Range(Cells(2, intspalte), Cells(letzteZeile, intspalte)) ' Bereich definieren

    ' Optional: Bereich auswählen
    bereich.Select
End Sub

In diesem Beispiel wird der Bereich in der Spalte, die in Zelle B1 definiert ist, ab Zeile 2 bis zur letzten ausgefüllten Zelle in dieser Spalte festgelegt.


Häufige Fehler und Lösungen

  • Problem: Der Bereich wird nicht korrekt ausgewählt.

    • Lösung: Stelle sicher, dass Du sowohl Cells als auch Range korrekt verwendest, z.B. Range(Cells(2, intspalte), Cells(letzteZeile, intspalte)).
  • Problem: Der Wert in B1 ist ungültig.

    • Lösung: Vergewissere Dich, dass der Wert in B1 eine gültige Spaltennummer ist (z.B. 1 für Spalte A, 2 für Spalte B usw.).

Alternative Methoden

Du kannst auch den Range-Operator direkt verwenden, um einen Bereich zu definieren. Hier ist ein Beispiel:

Sub Alternative_Bereich()
    Dim intspalte As Integer
    Dim letzteZeile As Long

    intspalte = Range("B1").Value
    letzteZeile = Cells(Rows.Count, intspalte).End(xlUp).Row

    ' Bereich direkt mit Range definieren
    Dim bereich As Range
    Set bereich = Range(Cells(2, intspalte), Cells(letzteZeile, intspalte))

    ' Bereich verwenden
    MsgBox "Der definierte Bereich ist: " & bereich.Address
End Sub

Diese Methode funktioniert ähnlich und kann je nach Bedarf variieren.


Praktische Beispiele

Hier sind zwei Beispiele, wie Du Cells in unterschiedlichen Szenarien verwenden kannst:

  1. Daten kopieren: Du kannst den definierten Bereich in eine andere Position kopieren:

    bereich.Copy Destination:=Cells(1, intspalte + 1) ' Kopieren nach nebenan
  2. Daten analysieren: Zähle die Anzahl der ausgefüllten Zellen im definierten Bereich:

    Dim anzahl As Long
    anzahl = Application.WorksheetFunction.Count(bereich)
    MsgBox "Anzahl der ausgefüllten Zellen: " & anzahl

Tipps für Profis

  • Nutze With-Anweisungen, um Deinen Code übersichtlicher zu gestalten:

    With bereich
      .Interior.Color = RGB(255, 255, 0) ' Hintergrundfarbe setzen
      .Font.Bold = True ' Schrift fett machen
    End With
  • Verwende Option Explicit am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.


FAQ: Häufige Fragen

1. Wie definiere ich einen Bereich mit Cells für mehrere Spalten? Du kannst mehrere Spalten definieren, indem Du Range mit mehreren Cells verwendest, z.B.:

Set bereich = Range(Cells(2, 1), Cells(letzteZeile, 3)) ' Bereich von Spalte A bis C

2. Was mache ich, wenn ich die letzte Zeile nicht ermitteln kann? Stelle sicher, dass die Spalte, die Du untersuchst, tatsächlich Daten enthält. Andernfalls gibt End(xlUp) die letzte Zeile zurück, die in dieser Spalte eine Zelle mit Daten hat.

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