Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema RefEdit
BildScreenshot zu RefEdit RefEdit-Seite mit Beispielarbeitsmappe aufrufen

gefüllte Zelle in einem Bereich suchen | Herbers Excel-Forum


Betrifft: gefüllte Zelle in einem Bereich suchen von: Ron
Geschrieben am: 15.12.2009 16:56:15

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

  

Betrifft: AW: gefüllte Zelle in einem Bereich suchen von: selli
Geschrieben am: 15.12.2009 16:59:09

hallo ron,

wie genau stellst du dir das denn vor?
willst du 300 variable sammeln?

gruß selli


  

Betrifft: AW: gefüllte Zelle in einem Bereich suchen von: Ron
Geschrieben am: 15.12.2009 17:02:03

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


  

Betrifft: AW: gefüllte Zelle in einem Bereich suchen von: Jens
Geschrieben am: 15.12.2009 18:24:11

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


  

Betrifft: AW: gefüllte Zelle in einem Bereich suchen von: Ron
Geschrieben am: 15.12.2009 18:46:53

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.


  

Betrifft: AW: gefüllte Zelle in einem Bereich suchen von: Ron
Geschrieben am: 16.12.2009 17:24:36

Kann mir einer helfen bei dem Problem??


  

Betrifft: AW: gefüllte Zelle in einem Bereich suchen von: Jens
Geschrieben am: 16.12.2009 17:40:54

Hi Ron

Könntest Du die Datei mal hochladen?

Gruß Jens


  

Betrifft: AW: gefüllte Zelle in einem Bereich suchen von: Ron
Geschrieben am: 17.12.2009 08:15:29

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


  

Betrifft: AW: gefüllte Zelle in einem Bereich suchen von: Jens
Geschrieben am: 17.12.2009 12:44:55

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


  

Betrifft: AW: gefüllte Zelle in einem Bereich suchen von: Ron
Geschrieben am: 17.12.2009 13:05:37

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??


  

Betrifft: AW: gefüllte Zelle in einem Bereich suchen von: Jens
Geschrieben am: 17.12.2009 13:58:35

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


  

Betrifft: AW: gefüllte Zelle in einem Bereich suchen von: Ron
Geschrieben am: 17.12.2009 16:55:42

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


  

Betrifft: Danke für Rückmeldung (oT) von: Jens
Geschrieben am: 17.12.2009 17:15:37




Beiträge aus den Excel-Beispielen zum Thema "gefüllte Zelle in einem Bereich suchen"