Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1356to1360
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
Zellen verbinden
16.04.2014 20:39:32
Nou
Hallo
Ich habe ein Problem mit dem Code
Wenn ich beispielsweise mehrere Zellen in spalte b reinkopiere sollte direkt die ausgefüllte spalte c daneben stehen, jedoch geht es nur wenn ich in spalte b die Zellen einzeln ausfülle .
Liegt das an dem ucase?
Wie kann ich das beheben dass wenn ich was in mehrere Zellen in spalte b fülle die spalte c dementsprechend auch Zellen ausfüllt?
Mein Code ist :
Option Explicit
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
Application.EnableEvents = False
Select Case UCase(Target)
Case "E01"
Target.Offset(0, 1) = "AT"
Case "E09"
Target.Offset(0, 1) = "EG"
Case "E08"
Target.Offset(0, 1) = "HA"
Case "E11"
Target.Offset(0, 1) = "TS"
Case "E10"
Target.Offset(0, 1) = "AT"
Case "E18"
Target.Offset(0, 1) = "AT"
Case "E19"
Target.Offset(0, 1) = "TS"
Case "E39"
Target.Offset(0, 1) = "AT"
Case "E26"
Target.Offset(0, 1) = "AT"
Case "E20"
Target.Offset(0, 1) = "GT"
Case "E43"
Target.Offset(0, 1) = "AT"
Case "E42"
Target.Offset(0, 1) = "AT"
End Select
Application.EnableEvents = True
End If
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen verbinden
16.04.2014 22:14:32
firmus
hallo Nou Nou,
ich vermute, dass Du beim Kopieren die ERSTE Zelle anklickst und dann mit PASTE/Einfügen benutzt.
Damit ist Dein Target nur eine Zelle.
Markiere doch für den PASTE-Vorgang die gleiche Anzahl an Zeilen wie beim Kopieren.
M.E. sollte es dann klappen, da das Target entsprechend groß ist.
Ist dieses Verhalten wirklich das was zu suchst?
Falls nein, muss Du den Kopie-Bereich abfragen (sollte gehen?) und für PASTE eine entsprechende Schleife bauen.
Gruß
Firmus

AW: Zellen verbinden
17.04.2014 00:11:56
Oberschlumpf
Hi
Es liegt nicht an UCase, es liegt daran, dass dein Code NUR 1x ausgeführt wird, egal wieviele Werte eingefügt werden.
Tausch deinen Code aus gegen diesen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lloRow As Long
If Target.Column = 2 Then
Application.EnableEvents = False
For lloRow = 1 To Cells(Rows.Count, 2).End(xlUp).Row
Select Case UCase(Range("B" & lloRow).Value)
Case "E01", "E10", "E18", "E39", "E26", "E43", "E42"
Range("B" & lloRow).Offset(0, 1) = "AT"
Case "E09"
Range("B" & lloRow).Offset(0, 1) = "EG"
Case "E08"
Range("B" & lloRow).Offset(0, 1) = "HA"
Case "E11", "E19"
Range("B" & lloRow).Offset(0, 1) = "TS"
Case "E20"
Range("B" & lloRow).Offset(0, 1) = "GT"
End Select
Next
Application.EnableEvents = True
End If
End Sub

Eine For/Next-Schleife wird gestartet, sobald in Spalte B ein oder mehrere Werte geändert werden.
Die Schleife beginnt immer in Zeile 1 und endet in der letzten, benutzten Zeile in Spalte B.
Du kannst die Case-Anweisungen zusammenfassen, wenn bei verschiedenen Parametern das gleiche Ergebnis herauskommen soll.
Hilfts?
Ciao
Thorsten
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige