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

Alle gefüllten Spalten mit Variabler durchlaufen

Alle gefüllten Spalten mit Variabler durchlaufen
05.08.2014 15:27:23
Stefanie
Hallo ihr VBA Profis,
möchte mich zunächst für dieses Klasse Forum bedanken, was mir schon oft weitergeholfen hat!
Meine Frage:
Ich möchte gerne alle Spalten (B4-EJ49) in meiner Tabelle durch gehen. Wenn in einer Spalte ein 'x' gefunden wird soll sich das Makro die Spalte merken, da ich dann aus dieser Spalte aber andere Zeile etwas kopieren möchte.
Mein Problem: wie kann ich mir die Spalte merken, in der das x gefunden wurde?
Mein Code:
For Each Zelle_Z In Range("B4:EJ49")
Worksheets(ArbBlatt).Select
If Zelle_Z.Value = "x" Then
Merke dir die Spalte
Und kopiere aus der gefunden Spalte aus Zelle 3 etwas
End if
Next Zelle_Z
Ich hoffe ich habe mein Problem verständlich ausgedrückt und freue mich über eure Hilfe.
Viele Grüße
Stefanie

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Alle gefüllten Spalten mit Variabler durchlaufen
05.08.2014 15:33:29
Hajo_Zi
Hallo Stefanie,
Option Explicit
Sub Schleife()
Dim Zelle_Z As Range
Dim ArbBlatt As String
ArbBlatt = ActiveSheet.Name
With Worksheets(ArbBlatt)
For Each Zelle_Z In .Range("B4:EJ49")
If Zelle_Z.Value = "x" Then
MsgBox Zelle_Z.Column
'Merke dir die Spalte
'Und kopiere aus der gefunden Spalte aus Zelle 3 etwas
End If
Next Zelle_Z
End With
End Sub

AW: Alle gefüllten Spalten mit Variabler durchlaufen
06.08.2014 07:24:46
Stefanie
Danke so sieht der Quellcode natürlich besser aus :-) hab mein Problem nochmal an einem Beispiel erläutert. Hoffe ihr könnt mir helfen, würde mich freuen bis dahin tüftel ich weiter ;-)
Viele Grüße

Anzeige
Alle gefüllten Spalten mit Variabler durchlaufen
06.08.2014 07:59:48
Hajo_Zi
Gut, Du möchtest mir das also nicht zeigen. Ich bin dann raus.
Gruß Hajo

AW: Alle gefüllten Spalten mit Variabler durchlaufen
06.08.2014 08:09:08
Stefanie
Entschuldige was zeigen?

AW: Alle gefüllten Spalten mit Variabler durchlaufen
06.08.2014 08:10:56
Stefanie
Meinst du das Beispiel? Natürlich :-)
Zitat:
Tabellenblatt ArbBlatt:
------A--------B-----------C ....
-----Text1----Text 2-----Text 3
G1-----x------------------ x
G2-------------x------------
G3-----x------ x-----------x
Mein Makro sucht in einem anderen Arbeitsblatt G1. Nun wechselt es in dieses Arbeitsblatt und findet hier auch die Zelle G1. So weit bin ich. Nun sollte es so weiter gehen:
Finde alle 'x' in der Zeile von G1 (im Beispiel in der Spalte A und C)
Wenn ein 'x' gefunden wurde dann kopiere in der Spalte (z.B. A) den Text 1 in ein anderes Tabellenblatt z.B. ZielArbBlatt in Spalte M4.
Ich hoffe so ist es verständlicher.

Anzeige
Kopieren wohin?
05.08.2014 15:38:30
EtoPHG
Hallo Stefanie,
Einige Anmerkungen:
1. Warum willst du jede Zelle im Bereich überprüfen? Das kann man mit Zählenwenn viel schneller prüfen.
2. Spalte / Zeile / Zelle : Sei konsistenter in der Begriffswahl. Ich nehme an, wenn in einer Spalte in den Zeilen 4:49 ein "x" vorkommt soll die Zeile 3 aus dieser Spalte irgendwohin
3. kopiert werden, aber wohin?
4. Dein VBA Code referenziert den Bereich im aktiven Tabellenblatt, da nützt ein nachträglicher .Select eines anderen Blatts gar nicht. Das .Select/.Activate meist überflüssige Befehle in VBA sind, kannst du in diesem Forum in Tausenden von Beiträgen lesen.
Warum VBA? Und nicht einfach eine Formel [Ansatz: =WENN(ZÄHLENWENN(A4:A49;"x")>1;INDEX(A:A;3);"")] in die erste Zielzelle und dann die Formel kopieren.
Gruess Hansueli

Anzeige
AW: Kopieren wohin?
06.08.2014 07:22:00
Stefanie
Vielen Dank für die schnelle Antwort!
Ich möchte dies gerne in einem größeren Makro Projekt unterbringen, deswegen muss ich dies per VBA umsetzen.
Entschuldige bitte ich versuche es an einem Beispiel besser zu beschreiben!
Tabellenblatt ArbBlatt:
------A--------B-----------C ....
-----Text1----Text 2-----Text 3
G1-----x------------------ x
G2-------------x------------
G3-----x------ x-----------x
Mein Makro sucht in einem anderen Arbeitsblatt G1. Nun wechselt es in dieses Arbeitsblatt und findet hier auch die Zelle G1. So weit bin ich. Nun sollte es so weiter gehen:
Finde alle 'x' in der Zeile von G1 (im Beispiel in der Spalte A und C)
Wenn ein 'x' gefunden wurde dann kopiere in der Spalte (z.B. A) den Text 1 in ein anderes Tabellenblatt z.B. ZielArbBlatt in Spalte M4.
Ich hoffe so ist es verständlicher.
Ich muss mir halt die Spalte merken irgendwie, in der das x steht um den Text aus der Spalte zu kopieren :-(
Freue mich über eure Hilfe!

Anzeige
Deine Ausführungen in Ehren...
06.08.2014 15:58:09
EtoPHG
Stefanie,
Beim besten Willen, kann ich dir keinen Codevorschlag aufgrund deiner Ausführungen machen.
Vielleicht genügt ja Hajo's Vorschlag. Allerdings bezweifle ich das, beim angegebenen Level.
Zum Einsteigen ins VBA Programmieren eignet sich der Makrorekorder, aber nachher das Anwenden der Tipps dieses Artikels (wobei empfohlen ist, diesen sich schon vorher zu Gemüte zu führen).
Gruess Hansueli
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige