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

gefüllte Zelle in einem Bereich suchen

gefüllte Zelle in einem Bereich suchen
Ron
Hallo Forum,
ich habe ein VBA-Problem, bei dem ich Hilfe brauch. Folgende Situation:
Ich habe eine Tabelle mit 6 Spalten und 300 Zeilen. In jeder Zeile steht nur 1 Wert in einer der 6 Spalten.
Ich möchte nun rausbekommen, wenn ich die 300 Zeilen über eine For-Nextchleife abarbeite, in welcher der 6 Spalten dieser Wert steht. Die Nummer der Spalte soll in einer Variable gespeichert werden. Denn mit dieser Variable bearbeite ich dann Folgemakros
Wie geht das?
Danke für eure Hilfe.
Gruß Ron
AW: gefüllte Zelle in einem Bereich suchen
15.12.2009 16:59:09
selli
hallo ron,
wie genau stellst du dir das denn vor?
willst du 300 variable sammeln?
gruß selli
AW: gefüllte Zelle in einem Bereich suchen
15.12.2009 17:02:03
Ron
Nein, es soll so laufen:
For x = ende_zeile To 0 Step -1
set bereich = Range("F" & ende_zeile & ":" & "L" & ende_zeile)
'suche nun in bereich welche von den 6 Zellen gefüllt ist
'gefunden: spalte =7
'nächstes makro welches die Variable spalte benutzt
Next x
AW: gefüllte Zelle in einem Bereich suchen
15.12.2009 18:24:11
Jens
Hallo Ron
Du willst also 300 mal das gleiche Makro ('nächstes makro welches die Variable spalte benutzt ) mit einem anderen Variablen-Wert ablaufen lassen?
Gruß Jens
AW: gefüllte Zelle in einem Bereich suchen
15.12.2009 18:46:53
Ron
Ja so hatte ich es mir zumindestens gedacht.
Das zweite makro mach nichts anderes als sich den wert (das ist ein Text) aus dieser spalte zu merken, in eine anderer Tabelle zu gehen, dort diesen Text, der eindeutig ist zu suchen und sich dazu einen passende Wert in ein array zu schreiben. Mit diesem Array rechne ich dann.
Das dürfte von der Laufzeit her net so lang dauern meine ich.
Anzeige
AW: gefüllte Zelle in einem Bereich suchen
16.12.2009 17:24:36
Ron
Kann mir einer helfen bei dem Problem?
AW: gefüllte Zelle in einem Bereich suchen
16.12.2009 17:40:54
Jens
Hi Ron
Könntest Du die Datei mal hochladen?
Gruß Jens
AW: gefüllte Zelle in einem Bereich suchen
17.12.2009 08:15:29
Ron
Hallo Jens, danke schon mal für deine Hilfe, aber das Projekt hat sich im dem Sinne erledigt weil ich das anders lösen musste wegen Zeitdruck.
Trotzdem würde mich der VBA-Code interessieren wenn ich 5 Spalten haben und z.B 5 Zeilen, jede Zeile hat nur 1 Wert sprich ein Wert steht in A1, der zweite in C4, der Dritte in D3, der vierte in B4 und der fünfte in E5 und ich komme mit einer for next schleife für die 5 Zeilen, definiere über set jeweils den Bereich A1:E1, dann A2:E2 usw. wie ich dann raus bekomme welche der 5 Zellen nun gefüllt ist. Das ergebnis kann die Zelladresse sein oder die Spalte in der er den Wert gefunden hat, denn die Zeile kenne ich ja schon.
Weißt du wie sowas geht Jens?
Gruß Ron
Anzeige
AW: gefüllte Zelle in einem Bereich suchen
17.12.2009 12:44:55
Jens
Hallo Ron
Vom Prinzip her funktioniert das hier:
Sub tt()
Dim LoZeile As Long
Dim LoSpalte As Long
Dim loLetzte As Long
loLetzte = 9
For LoZeile = 1 To loLetzte
For LoSpalte = 1 To 5
If Cells(LoZeile, LoSpalte)  "" Then
MsgBox Cells(LoZeile, LoSpalte).Address 'Zelladresse
'MsgBox LoSpalte ' Spaltennummer
End If
Next
Next
End Sub
Gruß Jens
AW: gefüllte Zelle in einem Bereich suchen
17.12.2009 13:05:37
Ron
ah ok so eine Lösung habe ich mir fast gedacht.
Aber mit dem Befehl
set bereich=Range("A1:E1")
Set zelle=bereich.find(irgendeine Zelle leer) das geht nicht irgendwie oder?
AW: gefüllte Zelle in einem Bereich suchen
17.12.2009 13:58:35
Jens
Hi
Vielleicht noch so (ungetestet):
Sub tt()
Dim Bereich As Range
Dim Zelle As Range
Set Bereich = Range("A1:E9")
For Each Zelle In Bereich
If Zelle  "" Then MsgBox Zelle.Column
Next
Set Bereich = Nothing
End Sub
oder so:
Sub tt()
Dim Bereich As Range
Dim Zelle As Range
Dim loZeile As Long
For loZeile = 1 To 9
Set Bereich = Range("A" & loZeile & ":E" & loZeile)
For Each Zelle In Bereich
If Zelle  "" Then MsgBox Zelle.Column
Set Bereich = Nothing
Next
Next
End Sub
Gruß Jens
Anzeige
AW: gefüllte Zelle in einem Bereich suchen
17.12.2009 16:55:42
Ron
Du hast Recht Jens so geht es. Manchmal sieht man den Wald vor lauter Bäumen nicht.
Danke nochmals für deine Hilfe.
Gruß Ron
Danke für Rückmeldung (oT)
17.12.2009 17:15:37
Jens

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige