Spalte über ihre "Zahl" ansteuern

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Spalte über ihre "Zahl" ansteuern
von: Christa
Geschrieben am: 25.05.2002 - 17:12:46

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
nach oben   nach unten

Re: Spalte über ihre "Zahl" ansteuern
von: WernerB.
Geschrieben am: 25.05.2002 - 17:31:15

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.

nach oben   nach unten

Re: Spalte über ihre "Zahl" ansteuern
von: Christa
Geschrieben am: 25.05.2002 - 18:47:07

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

nach oben   nach unten

Kriterien für die Auswahl?
von: Heiner
Geschrieben am: 25.05.2002 - 19:00:49

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


nach oben   nach unten

Re: Spalte über ihre "Zahl" ansteuern
von: WernerB.
Geschrieben am: 25.05.2002 - 19:26:58

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?


Option Explicit
Sub Kopieren()
Dim rngKopie As Range
Dim eing As String, s1 As String, z1 As String, s2 As String, z2 As String, _
    za1 As String, za2 As String
    eing = InputBox("Eingabe:" & Chr(10) & Chr(10) & _
           "Spalte1,Zeile1,Spalte2,Zeile2", "Kopierbereich bestimmen")
    If eing = "" Then Exit Sub
    s1 = Left(eing, InStr(eing, ",") - 1)
    eing = Right(eing, Len(eing) - InStr(eing, ","))
    z1 = Left(eing, InStr(eing, ",") - 1)
    eing = Right(eing, Len(eing) - InStr(eing, ","))
    s2 = Left(eing, InStr(eing, ",") - 1)
    z2 = Right(eing, Len(eing) - InStr(eing, ","))
    za1 = Cells(CLng(z1), CInt(s1)).Address(False, False)
    za2 = Cells(CLng(z2), CInt(s2)).Address(False, False)
    Set rngKopie = Range(za1 & ":" & za2)
    rngKopie.Copy
End Sub

Viel Erfolg wünscht
WernerB.
nach oben   nach unten

Re: Spalte über ihre "Zahl" ansteuern
von: Christa
Geschrieben am: 25.05.2002 - 20:47:32

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

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Spalte über ihre "Zahl" ansteuern"