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

Spalte über ihre "Zahl" ansteuern

Forumthread: Spalte über ihre "Zahl" ansteuern

Spalte über ihre "Zahl" ansteuern
25.05.2002 17:12:46
Christa
Hallo,
ich habe folgendes Problem: ich muss aus einer großen Excel-Datei die für mich wichtigen Datensätze herauskopieren. Die Daten liegen in einem geschlossenen, aber stets wechselndem Bereich. Zur Übersicht erhalte ich einen Ausdruck aus dem ich ersehen kann, daß der aktuell benötigte Bereich z.B. von spalte 75, Zeile 20 bis Spalte 93, Zeile 70 reicht, in Excel Schreibweise also von "BW20:CO70".
Gibt es eine Möglichkeit, in VBA die Spalte über eine Spaltennummer anzusprechen. Ich hab hier schon in der Recherche nachgesehen, aber leider nichts gefunden.
Ich bedanke mich schon mal für Eure Mühe und hoffe, dass ich mich verständlich ausgedrückt habe.
Tschüs Christa
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Spalte über ihre "Zahl" ansteuern
25.05.2002 17:31:15
WernerB.
Hallo Christa,

Spalten lassen sich nicht nur mit dem/den Spaltenbuchstaben ansprechen, sondern auch mit der Spaltennummer (A=1, B=2, ... IV=256), was sich für die Schleifenbearbeitung mit der Cells-Methode besonders gut eignet.

Cells(Zeilennummer, Spaltennummer).Value = "tralala"

So kannst Du beispielsweise eine Spaltennummer ermitteln:

acC = ActiveCell.Column
acC = Range("AA5").Column

Die Variable acC (die natürlich auch anders benannt werden darf) kann dann z.B. so eingesetzt werden:
Cells(5, acC + 1).Value = "tralala"

Die nachstehenden Range-Beispiele beschreiben den selben Bereich:

Range("BW20:CO70")
Range(Cells(20, 75), Cells(70, 93))

Ich hoffe, dass Dir diese kurzen Ausführungen genügend Anregungen zur Lösung Deiner anstehenden Probleme bieten; andernfalls melde Dich ggf. wieder hier.

MfG
WernerB.

Anzeige
Re: Spalte über ihre "Zahl" ansteuern
25.05.2002 18:47:07
Christa
Hallo WernerB,
danke für die rasche Antwort. Leider hab ich mich wohl doch nicht so klar ausgedrückt. Ich kopiere den Bereich bis jetzt mit folgendem Makro:
Sub Kopieren()
Dim rngKopie As Range
Set rngKopie = Application.InputBox_ ("Kopierbereichauswählen:", Type:=8)
rngKopie.Copy
End Sub

Nur muss ich in die InputBox z.B. "Bw20:CO70" eingeben, also wissen (oder auf meinem Spickzettel nachsehen)dass Spalte 75 in Excel die Spalte "BW" ist. Das würde ich gerne vereinfachen.
Vielleicht geht das ja irgendwie.
Ich hab mir Deine Anregungen kopiert und werd jetzt noch ein wenig experimentieren. Danke nochmals

Anzeige
Kriterien für die Auswahl?
25.05.2002 19:00:49
Heiner
Hallo, Christa,

nach welchen Kritierien wird die Auswahl getroffen? Wenn diese verläßlich in den Code einzubezeziehen wären, erledigte sich die Adressierung der Spalte(n) von selbst.

Freundliche Grüße
Heiner

Re: Spalte über ihre "Zahl" ansteuern
25.05.2002 19:26:58
WernerB.
Hallo Christa,

dieses Makro kann Dir die Arbeit etwas erleichtern.
Du brauchst nur noch vier Zahlen (getrennt durch Komma; keine Leerzeichen!) eingeben, den Rest erledigt das Makro.

Kannst Du das so verwenden?

Viel Erfolg wünscht
WernerB.

Anzeige
Re: Spalte über ihre "Zahl" ansteuern
25.05.2002 20:47:32
Christa
Hallo WernerB, hallo Heiner!
WernerB, genau so wollte ich es! Aber darauf wär ich in ewiger Zeit nicht gekommen.
Jetzt sieht die Arbeitswelt doch gleich ein wenig besser aus :))
Tausend Dank nochmals für Eure Hilfe
Tschüs und schönes Wochenende Christa

;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Spalte über ihre "Zahl" ansteuern


Schritt-für-Schritt-Anleitung

  1. Makro erstellen: Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Neues Modul einfügen: Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx) und wähle Einfügen > Modul.

  3. Code eingeben: Füge den folgenden Code in das Modul ein:

    Sub Kopieren()
        Dim rngKopie As Range
        Dim startSpalte As Integer
        Dim endSpalte As Integer
        Dim startZeile As Integer
        Dim endZeile As Integer
    
        ' Eingabe der Spalten- und Zeilenzahlen
        startSpalte = InputBox("Gib die Startspalte als Zahl ein:")
        endSpalte = InputBox("Gib die Endspalte als Zahl ein:")
        startZeile = InputBox("Gib die Startzeile als Zahl ein:")
        endZeile = InputBox("Gib die Endzeile als Zahl ein:")
    
        ' Kopieren des Bereichs
        Set rngKopie = Range(Cells(startZeile, startSpalte), Cells(endZeile, endSpalte))
        rngKopie.Copy
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle Kopieren aus und klicke auf Ausführen.

  5. Eingabe: Gib die Start- und Endwerte für Spalten und Zeilen ein. Das Makro kopiert automatisch den gewünschten Bereich.


Häufige Fehler und Lösungen

  • Fehler: Ungültige Eingabe
    Lösung: Stelle sicher, dass du nur Zahlen eingibst, wenn du nach der Spalten- oder Zeilennummer gefragt wirst.

  • Fehler: Makro läuft nicht
    Lösung: Überprüfe, ob du Makros in Excel aktiviert hast. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros.


Alternative Methoden

  • Direkteingabe in den Namen: Du kannst auch den Namen der Spalte direkt in der Funktion verwenden, anstatt die Spaltennummer zu ermitteln. Zum Beispiel:

    Range("BW20:CO70").Copy
  • Verwendung von Columns: Du kannst auch die Columns-Methode verwenden, um Spalten als Zahlen anzusprechen:

    Columns(75).Copy

Praktische Beispiele

  • Kopieren eines Bereichs mit einer variablen Spalte:

    Wenn du eine variable Spalte hast, kannst du den Bereich so definieren:

    Dim letzteSpalte As Integer
    letzteSpalte = ActiveSheet.Cells(20, Columns.Count).End(xlToLeft).Column
    Range(Cells(20, 75), Cells(70, letzteSpalte)).Copy
  • Spaltenbuchstaben ausgeben:

    Um den Spaltenbuchstaben für eine gegebene Spaltennummer zu erhalten, kannst du den folgenden Code verwenden:

    Dim spaltenNummer As Integer
    spaltenNummer = 75
    MsgBox Split(Cells(1, spaltenNummer).Address, "$")(1)

Tipps für Profis

  • Excel Spickzettel nutzen: Halte einen Spickzettel bereit, um die Zuordnung von Spaltennummern und -buchstaben schnell nachschlagen zu können.

  • VBA Spalten zählen: Nutze die Columns.Count-Eigenschaft, um die totale Anzahl der Spalten in einem Arbeitsblatt zu ermitteln und so sicherzustellen, dass du innerhalb des gültigen Bereichs arbeitest.

  • Fehlerbehandlung einbauen: Füge eine Fehlerbehandlung in dein Makro ein, um unerwartete Eingaben oder Fehler abzufangen.


FAQ: Häufige Fragen

1. Wie kann ich die Spaltennummer ermitteln?
Du kannst die Spaltennummer mit der ActiveCell.Column-Eigenschaft oder durch die Verwendung von Range("AA5").Column ermitteln.

2. Kann ich die Spalte auch mit Buchstaben ansprechen?
Ja, du kannst die Spalte mit Buchstaben ansprechen, indem du beispielsweise Range("BW20:CO70") verwendest.

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