Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

  WENN/UND-funktion im VBA
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
wuffi
Newbie
Newbie


Anmeldedatum: 12.01.2007
Beiträge: 27

BeitragVerfasst am: 06.08.2007, 11:37 Nach oben

Hallo,

ich bin's mal wieder..

Ich habe folgendes Problem:

und zwar habe ich eine WENN/UND - Funktion mit 9 Verschachtelungen.
Dies geht schlecht mit der Formel, da nur sieben erlaubt sind und das + kann ich nicht gebrauchen, da er nichts zusammen zählen soll.

Ich habe in der Spalte G einen Buchstaben (H,L oder M) und in der Spalte H eine Zahl (1,2 oder 3). Diese sollen in Spalte I zusammengefasst, ja nach Anzeige in G und H, angezeigt werden, z.b. Spalte I "H3".

Ich hoffe das ist soweit verständlich.

Das ganze soll nun über ein Makro automatisch laufen und das bekomm ich einfach nicht hin.

Wie sieht der Code aus?
Kann mir da jemand weiterhelfen??

Viele Grüße
Ela
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 06.08.2007, 11:40 Nach oben

Hallo!

Reicht dir da nicht eine Verkettung?
A1: Manno
B1: Meter
C1: =A1&B1 ergibt MannoMeter

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
wuffi
Newbie
Newbie


Anmeldedatum: 12.01.2007
Beiträge: 27

BeitragVerfasst am: 06.08.2007, 12:36 Nach oben

Hallo,

ja super, hab ich auch schon gefunden!!!

Range("I7") = Range("G7") & "" & Range("H7")

Brett vorm Kopf .... Rolling Eyes

Jetzt hab ich nur noch ein problem: wie füge ich das ganze in eine Schleife?? Dies soll natürlich unendlich laufen.

viele grüße
ela
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 06.08.2007, 12:47 Nach oben

Hallo!
Zitat:
Dies soll natürlich unendlich laufen.

Das glaube ich dir nicht... Smile

Diese Schleife sucht alle Zellen in Spalte G, die einen festen Eintrag haben, und verkettet sie mit Spalte H in Spalte I:

Code:
Sub test()
Dim zelle As Range
For Each zelle In Columns(7).SpecialCells(xlCellTypeConstants)
zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
Next zelle
End Sub

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
wuffi
Newbie
Newbie


Anmeldedatum: 12.01.2007
Beiträge: 27

BeitragVerfasst am: 06.08.2007, 13:08 Nach oben

das klappt super DANKE!!!!

aber jetzt hab ich noch ein problem... sorry...

ich habe das in dem arbeitsblatt eingefügt, in der hoffnung er macht das automatisch ... macht er aber nicht.... grummel
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 06.08.2007, 13:18 Nach oben

Dafür könntest du das ganze in ein Worksheet_Change-Ereignis einbinden:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zelle As Range
Application.EnableEvents = False
For Each zelle In Columns(7).SpecialCells(xlCellTypeConstants)
zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
Next zelle
Application.EnableEvents = True
End Sub


Aber warum willst du darauf eigentlich mit VBA los??
Wenn du's per Formel machst (=G7&H7), kannst du die Formel doch großzügig runterkopieren. Solange die Zellen leer sind, bleibt doch auch die Verkettung leer...

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
wuffi
Newbie
Newbie


Anmeldedatum: 12.01.2007
Beiträge: 27

BeitragVerfasst am: 06.08.2007, 13:59 Nach oben

das hatte ich auch schon, problem was ich hatte, die felder sollten sich dementsprechend farbig hinterlegen und das ging dann leider nicht so einfach.... deswegen ...*seufz*

ich habe noch was vergessen ....
das ganze spielchen soll ein paar spalten weiter nochmal gestartet werden .... als O7 & P7 in Q7 auch wieder fast unendlich Wink ...

hab schon versucht zu erweitern, klappt natürlich nicht so wie ich mir das vorstelle .... Sad
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 06.08.2007, 14:23 Nach oben

Na, das kann doch nun nicht mehr schwer sein:

For Each zelle In Columns(7).SpecialCells(xlCellTypeConstants)

Warum 7?
Weil G der 7. Buchstabe im Alphabet ist, also Spalte G die 7. Spalte ist.

Und das ganze jetzt für Spalte O?
Hmmm, knifflig, knifflig... Laughing Laughing

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
wuffi
Newbie
Newbie


Anmeldedatum: 12.01.2007
Beiträge: 27

BeitragVerfasst am: 06.08.2007, 14:32 Nach oben

jau, hab ich schon probiert, klappt irgendwie nicht...
aber ich bleibe dran und melde mich morgen noch mal...

aber erstmal DANKE!!!!


viele Grüße
ela
Benutzer-Profile anzeigenPrivate Nachricht senden
wuffi
Newbie
Newbie


Anmeldedatum: 12.01.2007
Beiträge: 27

BeitragVerfasst am: 07.08.2007, 09:13 Nach oben

hello,

also ich bekomm es einfach nicht angepasst!!

Sad
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 07.08.2007, 09:24 Nach oben

Wie sieht denn dein bisheriger Versuch aus?

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
wuffi
Newbie
Newbie


Anmeldedatum: 12.01.2007
Beiträge: 27

BeitragVerfasst am: 07.08.2007, 10:59 Nach oben

hallo,

also ich hab es mal so probiert:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim zelle As Range
Dim zelle1 As Range
Application.EnableEvents = False
For Each zelle In Columns(7).SpecialCells(xlCellTypeConstants)
zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
Next zelle1.Columns(14).SpecialCells(xlCellTypeConstants)
zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
Next zelle
Application.EnableEvents = True

End Sub

dann hab ich es mal mit exit for probíert, geht auch nicht Sad
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 07.08.2007, 11:05 Nach oben

Die beiden Schleifen müssen hintereinander:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zelle As Range
Application.EnableEvents = False
For Each zelle In Columns(7).SpecialCells(xlCellTypeConstants)
zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
Next zelle
For Each zelle In Columns(14).SpecialCells(xlCellTypeConstants)
zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
Next zelle
Application.EnableEvents = True
End Sub

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
wuffi
Newbie
Newbie


Anmeldedatum: 12.01.2007
Beiträge: 27

BeitragVerfasst am: 07.08.2007, 11:19 Nach oben

oh mann, das hatte ich auch schon, aber es hat nicht geklappt, weil ich spalten ausgeblendet habe und somit die falsche zeile angezogen habe ...
*brettvormkopf*....

ich hab jetzt aber wieder ein anderes problem... mein chef hätte gern statt m2, wie es jetzt angezeigt wird 2m.

so geht das aber nicht, wenn ich umsetze zu

For Each zelle In Columns(7).SpecialCells(xlCellTypeConstants)
zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)

so

For Each zelle In Columns(8).SpecialCells(xlCellTypeConstants)
zelle.Offset(0, 1) = zelle & zelle.Offset(0, 2)

dann hab ich immer nur die zahl aus spalte 8 stehen ...
sorry, ich bin auch schon total genervt.
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 07.08.2007, 11:26 Nach oben

zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
wird zu
zelle.Offset(0, 2) = zelle.Offset(0, 1) & zelle

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Zählen wenn mit oder funktion ASchmelzer Microsoft Excel Hilfe 5 20.11.2008, 11:46 Letzten Beitrag anzeigen
Keine neuen Beiträge Bitte um Hilfe mit wenn dann Formel. NeXi Microsoft Excel Hilfe 2 19.11.2008, 15:55 Letzten Beitrag anzeigen
Keine neuen Beiträge komplette Zeile ausblenden, wenn Tabe... enzo Microsoft Excel Hilfe 21 18.11.2008, 12:17 Letzten Beitrag anzeigen
Keine neuen Beiträge Wenn Funktion wowa Microsoft Excel Hilfe 2 14.11.2008, 08:38 Letzten Beitrag anzeigen
Keine neuen Beiträge Acrobat-Funktion in Word 2007 verschw... nana Microsoft Word Hilfe 0 12.11.2008, 12:58 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de