Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1468to1472
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

wenn Zelle wert enthällt dann...

wenn Zelle wert enthällt dann...
26.01.2016 16:13:07
Erik
Hallo zusammen,
habe schon wiedermal ein kleines Problem
in meiner Tabelle steht bei A1 ein Wert die Zellen B2 - B6 sind befüllt mit anderen Werten.
Excel soll überprüfen bis welche Zelle in Spalte B ein Wert steht
und die Zelle A1 dann in die leeren Zellen (in diesem Fall A2-A6)kopieren / einfügen.
Gruß Erik

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: willst Du das wirklich mit VBA tun? ...
26.01.2016 16:21:14
...
Hallo Erik,
... dass ist mit einer kleinen Formel schnell getan: In A2: =WENN(B2="";"";A1) und nach unten kopieren.
Gruß Werner
.. , - ...

AW: willst Du das wirklich mit VBA tun? ...
26.01.2016 16:38:45
Erik
Hallo Werner,
ich bräuchte es aber per VBA.
Ist das möglich ?

AW: VBA -Lösung gesucht ...
27.01.2016 08:10:21
...
Hallo Erik,
... aus solchen halte ich mich prinzipiell außen vor. Deshalb habe ich den thread nun auf offen gestellt.
Gruß Werner
.. , - ...

AW: wenn Zelle wert enthällt dann...
27.01.2016 08:35:00
UweD
HAllo
Wenn es dann unbedingt VBA sein muss...

Sub A1copy()
Dim LR&
Application.ScreenUpdating = False
With ActiveSheet
LR = .Cells(Rows.Count, 2).End(xlUp).Row 'letzte Zeile der Spalte B
.Range("A2:A" & LR).Value = .Range("A1").Value
End With
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Gruß UweD

Anzeige
AW: wenn Zelle wert enthällt dann...
27.01.2016 09:23:27
Erik
Hallo!
Das Makro von Uwe ist fast richtig.
Habe mal eine xls beigefügt mit ner kurzen Erklärung.
Hoffe das es verständlich ist.
Gruß
und Danke
Erik
https://www.herber.de/bbs/user/103074.xls

AW: wenn Zelle wert enthällt dann...
27.01.2016 11:02:11
UweD
Hallo nochmal.
dann so...
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Makro dort reinkopieren
Jetzt wird bei einer Zelländerung in Spalte D der letzte Wert in Spalte E ermittelt
und der Wert der gerade geänderten Zelle in den Bereich darunter copiert.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Dim LR&
With ActiveSheet
LR = .Cells(Rows.Count, 5).End(xlUp).Row 'letzte Zeile der Spalte E
If Not Intersect(Target, .Range("D:D")) Is Nothing Then
If Target.Count  1 Then 'wenn mehrere Zellen gleichzeitig
MsgBox "Bitte nur einzeln ändern"
Application.EnableEvents = False
Application.Undo
ElseIf Target.Value  "" Then
Application.EnableEvents = False
.Range(.Cells(Target.Row + 1, 4), .Cells(LR, 4)) = Target.Value
End If
End If
End With
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Gruß UweD

Anzeige
AW: wenn Zelle wert enthällt dann...
27.01.2016 11:29:10
Erik
Hallo Uwe,
stimmt immer noch nicht ganz 8-)
wenn ich nun in Spalte D Zelle D1 ein Kennzeichen eingebe, wird sofort eine zelle darunter (Zelle D2)das Kennzeichen kopiert und eingefügt. Das sollte aber erst passieren wenn eine Teilenummer in Zelle E1 und E2 steht.
Außerdem wird wenn ich nun ein neues Kennzeichen die darüberliegen Zelle in Spalte D überschrieben und wie oben genannt darunter in Spalte D auch eine eingefügt.
Ich hoffe es ist versändlich.
Gruß
Erik

AW: wenn Zelle wert enthällt dann...
27.01.2016 11:53:40
UweD
ok.
dann frag ich noch ab, ob die Änderungszeile kleiner als Letzte Zeile in E ist.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Dim LR&
With ActiveSheet
LR = .Cells(Rows.Count, 5).End(xlUp).Row 'letzte Zeile der Spalte E
If Not Intersect(Target, .Range("D:D")) Is Nothing Then
If Target.Count  1 Then 'wenn mehrere Zellen gleichzeitig
MsgBox "Bitte nur einzeln ändern"
Application.EnableEvents = False
Application.Undo
ElseIf Target.Value  "" And Target.Row  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
LG UweD

Anzeige
AW: wenn Zelle wert enthällt dann...
27.01.2016 13:39:42
Erik
Hallo Uwe,
jetzt gehts perfekt !
Ich wollt nun deinen Code soweit abändern, das auch die Zeile H kopiert und darunter eingefügt wird wie Spalte D.
Bekomme es aber nicht hin.
Gruß
Erik
PS: SCHONMAL DANKE für den Code wie er jetzt ist :-)

Nachfrage...
27.01.2016 13:57:12
UweD
- soll, wenn du in D was änderst, H den gleichen Wert bekommen?
- Ist H immer genausoweit nach unten gefüllt wie E?
oder
- soll eine Änderung in H unabhängig von D betrachtet werden und Spalte I prüfen?

AW: Nachfrage...
27.01.2016 15:11:59
Erik
Hallo Uwe,
wenn zb etwas in D10 eingeben wird, soll die Zelle H10 soweit nach unten kopiert werden, wie in Spalte E Zellen befüllt sind.
Gruß Erik

Anzeige
AW: Nachfrage...
27.01.2016 15:54:27
UweD
Hi
habe eine Zeile ergänzt

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Dim LR&
With ActiveSheet
LR = .Cells(Rows.Count, 5).End(xlUp).Row 'letzte Zeile der Spalte E
If Not Intersect(Target, .Range("D:D")) Is Nothing Then
If Target.Count  1 Then 'wenn mehrere Zellen gleichzeitig
MsgBox "Bitte nur einzeln ändern"
Application.EnableEvents = False
Application.Undo
ElseIf Target.Value  "" And Target.Row  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Gruß

Anzeige
AW: Nachfrage...
27.01.2016 15:58:43
Erik
Uwe !
Du bist der Hammer!
DANKE

AW: Nachfrage...
28.01.2016 15:35:35
Erik
Hallo Uwe,
habe jetzt wärend dem Dauertest der Tabelle ein Problem bemerkt.
Wenn Zellen in Spalte D durch das Makro befüllt worden sind, und ich ein paar Zeilen darüber ein
Kennzeichen ändere, überschreibt das Makro einfach alle unteren Zeilen mit dem neu eingegebenen Kennzeichen.
Ist es möglich das Makro so zu ändern das es nur leere Zellen befüllt, und nicht welche in denen bereits etwas steht ?
Gruß
Erik

AW: Nachfrage...
28.01.2016 16:49:31
UweD
ja, geht

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Dim LR&
With ActiveSheet
LR = .Cells(Rows.Count, 5).End(xlUp).Row 'letzte Zeile der Spalte E
If Not Intersect(Target, .Range("D:D")) Is Nothing Then
If Target.Count  1 Then 'wenn mehrere Zellen gleichzeitig
MsgBox "Bitte nur einzeln ändern"
Application.EnableEvents = False
Application.Undo
ElseIf Target.Value  "" And Target.Row  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err. _
Clear
End Sub
Gruß UweD

Anzeige
AW: Nachfrage...
28.01.2016 17:06:47
Erik
Hallo Uwe,
habe das Makro so eingefügt!
Jetzt bekomme ich den Fehler: 1004
Die SpecialCells Eigenschaft des Range Objekts kann nicht festgelegt werden.
Gruß
Erik

AW: Nachfrage...
29.01.2016 09:21:33
UweD
Dann lad doch mal eine kurze Musterdatei hoch.

385 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige