Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Range-Schreibweise ändern

Range-Schreibweise ändern
28.10.2017 12:09:16
Golem
Guten Tag, Excel-Fachleute!
Ich möchte in einer Match-Funktion die Range-Angabe variabel ausführen.
Application.WorksheetFunction.Match(7, Range("L:L"), 0)
Meine Überlegung:
mit Spaltenbuchstabe aus Spaltennummer
a = Left(Cells(1, 16).Address(0, 0), 1 - (16 größer 26))
Application.WorksheetFunction.Match(7, Range(a & ":" & a), 0).
Aber diese Ausführung wird nicht akzeptiert.
Andere Lösung mit Cells wird auch nicht angenommen.
Welche Lösung kann für die variable Ausführung verwendet werden?
Für evtl. Tipps oder Anregungen schon mal besten Dank!
Werner

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Was ergibt denn a?
28.10.2017 12:28:25
lupo1
AW: Was ergibt denn a?
28.10.2017 12:30:43
Golem
Hallo lupo1,
a ergibt den Spaltenbuchstabe "L" aus der Spaltenzahl 16.
Schöne Grüße
Werner
AW: Was ergibt denn a?
28.10.2017 12:37:54
Hajo_Zi
Hallo Werner,
bei mir ist 16 Spalte P nicht L.

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung. o.w.T."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
Anzeige
bei mir auch ... owT
28.10.2017 12:40:33
Matthias
AW: bei mir auch ... owT
28.10.2017 12:44:38
Golem
Hallo Halo und Matthias L,
Entschuldigung, ich habe mich vertan. Der Spaltenbuchstabe ist "P".
Schöne Grüße
Werner
geht doch ...
28.10.2017 13:00:07
Matthias
Hallo
Option Explicit
Sub golem()
Dim a
a = Left(Cells(1, 12).Address(0, 0), 1)
MsgBox a
MsgBox Application.WorksheetFunction.Match(7, Range(a & ":" & a), 0)
End Sub
Die 7 muss natürlich vorhanden sein!
Ist der Suchwert nicht vorhanden muss eine Fehlerbehandlung mit in den Code.
Gruß Matthias
AW: geht doch ...
28.10.2017 13:21:54
Golem
Hallo Matthias L,
Du hast recht.
Diese Möglichkeit funktioniert einwandfrei.
a = Left(Cells(1, 12).Address(0, 0), 1)
MsgBox a
MsgBox Application.WorksheetFunction.Match(7, Range(a & ":" & a), 0)
Ich habe einen Fehler nicht erkannt.
Einen schönen Dank für Deine Hilfe.
Schöne Grüße
Werner
Anzeige
Danke für die Rückmeldung :-) owT
28.10.2017 13:46:27
Matthias
AW: Range-Schreibweise ändern
28.10.2017 12:29:56
Gerd
Hallo Werner,
es ist nicht ersichtlich, was bei dir genau die Variable sein soll.
Eine Spalte kannst du numerisch z.B. mit Columns(16) ansprechen.
Gruß Gerd
AW: Range-Schreibweise ändern
28.10.2017 12:41:54
Golem
Hallo Gerd L,
die Variable soll "L" sein. In einer Zelle wird eine Spaltennummer angezeigt ( diese Spaltennummer ändert sich beim
hinzufügen oder entfernen von Spalten im Tabellenblatt ).
Aus dieser sich verändernde Spaltenzahl wird der Spaltenbuchstabe ermittelt und soll in der Match-Funktion
verwendet werden.
Ich habe auch die Möglichkeit mit Columns(16) ausprobiert. Aber diese Möglichkeit wird nichtakzeptiert.
Schöne Grüße
Werner
Anzeige
AW: Range-Schreibweise ändern
28.10.2017 12:51:18
Gerd
Hallo Werner!
In einer Zelle wird eine Spaltennummer angezeigt
MsgBox Columns(Cells(1, 16).Value).Address
Gruß Gerd
AW: Range-Schreibweise ändern
28.10.2017 15:29:01
Rudi
Hallo,
Ich habe auch die Möglichkeit mit Columns(16) ausprobiert. Aber diese Möglichkeit wird nichtakzeptiert.
natürlich geht das.
msgbox worksheetfunction.match(7,columns(16),0)
Gruß
Rudi
AW: Range-Schreibweise ändern
28.10.2017 18:11:50
Golem
Guten Abend, Rudi!
Wenn ich die Funktion so schreibe:
MsgBox Application.WorksheetFunction.Match(Range("Monat"), Range(a & ":" & a), 0)
bekomme ich die Zeilennummer angezeigt.
Wenn ich die Funktion so schreibe:
MsgBox Application.WorksheetFunction.Match(Range("Monat"), Columns(16), 0)
wird angezeigt, "Laufzeitfehler '1004':Anwendungsfall- oder objektdefinierter Fehler" angezeigt.
Mein erster Fehler ist gewesen( weil die obige Funktion nicht funktionierte ), dass ich die
Variablendeklaration für "a" falsch angegeben hatte.
Ich hatte "Dim a As Integer" angegeben.
Richtig ist, "Dim a As String".
Schöne Grüße
Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige