Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
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

Einige Fragen zu "Range"

Einige Fragen zu "Range"
10.04.2017 13:14:35
Barbaraa
Hallo
einige Fragen zum Makro-Programmieren hätte ich da:
Gegeben ist ein bestimmter Range ("B1:G4") und ein bestimmter Text ("Apfel").
Sub Breich()
Dim a As Range, b As Range, Zelle As Range
Dim t As String
t = "Apfel"
Set a = Range("B1:G3")
Set Zelle = Range("F3")
End Sub
1.
Wie kann man am geschicktesten die Spaltennummer jener Zelle ausgeben, die sich in der ersten Zeile von a befindet und dem Text t entspricht? Vielleicht mit a.Find oder besser mit einer Schleife?
2.
Wie kann man den Range der ersten Zeile des Ranges a bekommen?
3.
Wie bekommt man die Adresse innerhalb des Ranges von Zelle (im oberen Beispiel)?
4.
Wie bekommt man die Sheet-Spaltennummer (nicht Buchstabe) und -Zeilennummer der ersten Zelle in der zweiten Reihe des Ranges a?
Das ist kein Quiz, sondern das sind Fragen, die sich mir beim Programmieren immer wieder stellen.
Eure Antworten wären mir sehr hilfreich.
LG,
Barbara

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einige Fragen zu "Range"
10.04.2017 13:41:31
Daniel
Hi
1. kommt darauf an.
normalerweise am einfachsten mit .FIND
wenn du einen großen Zellbereich hast und in diesen sehr viele Suchen ausführst, kann es ggf schneller sein, die Werte in ein Array zu laden und dann mit Schleifen über dieses Array zu laufen. (auch das .Find lädt die Werte intern in ein Array und läuft dann mit einer Schleife darüber, aber es muss jedesmal die Daten laden, dieses ständige Laden der Daten in ein Array kannst du sparen, wenn du es selber programmierst)
2. a.Rows(1)
3. was konkret meinst du damit? was wäre dein Wunschergebnis für Zelle?
4. Zeilennummer: a.Row, Spaltennummer a.Column
ggf ergibt dass dann auch die Antwort für 3.
Zelle.Row, Zelle.Column ergibt dir die Zeilen- und Spaltennummer auf dem Blatt.
um die Zeilen- und Spaltennummern innerhalb der Range zu bekommen, musst du diese berechnen:
Zeile: Zelle.Row - a.Row + 1
Spalte: Zelle.Column - a.Column + 1
Gruß Daniel
Anzeige
AW: Einige Fragen zu "Range"
10.04.2017 13:47:00
ChrisL
Hi
Hier ein paar Beispiel:
Sub Breich()
Dim a As Range, b As Range, Zelle As Range
Dim t As String
t = "Apfel"
Set a = Range("B1:G3")
Set Zelle = Range("F3")
' Beispiel Rezize
Dim rngZeile1 As Range
Set rngZeile1 = a.Resize(1, a.Columns.Count)
MsgBox "nur Zeile 1: " & rngZeile1.Address(0, 0)
' Beispiel Vergleich (für exakte Übereinstimmung)
Dim rngFind As Range
Set rngFind = rngZeile1.Find(What:=t, After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart) ' evtl. anpassen xlWhole
If rngFind Is Nothing Then
MsgBox "Apfel nicht gefunden"
Else
MsgBox "Apfel gefunden in Zelle " & rngFind.Address(0, 0)
End If
' Adresse der Variable Zelle
MsgBox "Adresse: " & Zelle.Address(0, 0)
MsgBox "Adresse absolut: " & Zelle.Address
' Adresse links oben, um eine Zeile versetzt
Dim rngZelleB2 As Range
Set rngZelleB2 = Cells(a.Row, a.Column).Offset(1, 0)
MsgBox "Zeilen- und Spaltenindex von B2: " & rngZelleB2.Row & " und " & rngZelleB2.Column
End Sub
cu
Chris
Anzeige
AW: Einige Fragen zu "Range"
10.04.2017 13:49:29
ChrisL
ähmmm zu schnell gedrückt... Das eine Beispiel ist gerade nicht mit Vergleich (=VERGLEICH resp. MATCH wäre für exakte Übereinstimmungen), sondern mit FIND und xlParts
AW: Einige Fragen zu "Range"
10.04.2017 13:53:00
Michael
Hallo!
Hier eine Bsp-Datei zum Ausprobieren und weiterentwickeln: https://www.herber.de/bbs/user/112778.xlsm
Hier habe ich bewusst ".Select"-Befehle gesetzt, die ansonsten unnötig sind - geh den Code doch mit F8 im Einzelschritt-Modus durch, und beobachte parallel was auf dem Blatt passiert.
LG
Michael
AW: Einige Fragen zu "Range"
13.04.2017 22:26:23
Barbaraa
Meine Antwort hat etwas auf sich warten lassen, weil ich Eure Beiträge genau durchgearbeitet habe.
Aber das nenn ich Hilfsbereitschaft. Habe alles verstanden.
Danke Daniel, das mit Arrays ist eine gute Sache und spart lästige Verzögerungen.
Danke Chris für Deine interessante Lösung. Habe mir davon ein paar Scheibchen abschneiden können.
Danke Michael für Dein "Versuchslabor". Habe es erfolgreich zerlegt und untersucht.
LG, Barbara
Anzeige
AW: Na spitze, Danke für die RM, schönes WE, owT
14.04.2017 12:21:48
Michael

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige