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

noch nicht ganz perfekt!!

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: noch nicht ganz perfekt!!
01.03.2015 12:56:39
Hajo_Zi
warum sollte ich eine Datei runterladen um dann zu sehen das ist nichts für mich.
Für die Problem Beschreibung ist der Beitrag da.
Falls es um einen alten Beitrag geht, warum wird es nicht dort weiter gemacht.
Gruß Hajo

AW: noch nicht ganz perfekt!!
01.03.2015 14:13:06
Holm
Hallo Hajo,
mein alter Beitrag wurde trotz mehrmaliger Aktualisierung von mir vom Forum leider nicht mehr weiter bearbeitet...
Durch Doppelklick in Zelle A jeder Zeile bekomme ich folgnde Auswahlmöglichkeiten:
Option Explicit
Sub CommandButton1_Click()
' Aktuelle Zeile kopieren, unterhalb Zeile einfügen und Inhalte in Zellen ohne Formel löschen
Unload Me
Dim Zelle As Range
ActiveCell.EntireRow.Copy
Cells(ActiveCell.Row + 1, 1).Insert Shift:=xlDown
Application.CutCopyMode = False
ActiveCell.Offset(1, 1).Select
End Sub
Private Sub CommandButton2_Click()
Unload Me
Rows(ActiveCell.Row).Delete
ActiveCell.Offset(1, 1).Select
End Sub

Wenn ich allerdings mit dem Button "Zeile einfügen" eine Zeile kopiere, in der Zelle B einen Inhalt hat, damit Zelle C und D über einen SVERWEIS ausgefüllt sind und auch Zelle E,F und G einen (manuellen) Inhalt haben, so werden all diese Inhalte mit in die neue Zeile kopiert. Diese neue Zeile soll eigentlich leer sein, nur in C und D sollen die SVERWEISE drin stehen.
Zum Abschluss der Aktion soll Zelle B ausgewählt sein.
Reicht das soweit als Info?
Gruß Holm

Anzeige
AW: noch nicht ganz perfekt!!
01.03.2015 14:44:45
Matthias L
Hallo
Das hast Du doch schon im Doppelklick-Befehl für Spalte("B") mit drin!
Du brauchst Dir doch nur Deinen Code richtig anschauen.
          'Werte in Zellen in Spalte E bis G löschen
.Range(.Cells(Zeile, 5), .Cells(Zeile, 6)).ClearContents
'Wert in Zelle in Spalte I löschen
.Cells(Zeile, 7).ClearContents
Was ich aber gleich so schreiben würde:
.Range(.Cells(Zeile, 5), .Cells(Zeile, 7)).ClearContents
Außerdem ist:
'Wert in Zelle in Spalte I löschen falsch auskommentiert. Das wäre Spalte(9)
Gruß Matthias

Anzeige
AW: noch nicht ganz perfekt!!
01.03.2015 15:12:13
Holm
Hallo Matthias,
über Doppelklick Spalte B lösche ich den Inhalt der Zellen (B und C aus SVERWEIS, D-E auf leer), um danach wieder neu eingeben zu können.
Über Doppelklick A möchte ich eine NEUE LEERE Zeile haben, in der aber in C un D schon die nötigen SVERWEISE drin sind, mehr aber auch nicht....
Wenn ich aber aus einer gefüllten Zeile den Button "Zeile einfügen" starte, werden in der neuen (eigentlich leeren) Zeile alle Inhalte aus der gestarteten Zeile mit übernommen....
Ich möchte nicht erst den Doppelklick in A zum Einfügen einer neuen Zeile machen müssen und dann nochmal Doppelklick in B (machen müssen), um die Zeile dann erst mal noch zu leeren....
Gruß Holm

Anzeige
ich hoffe so ist es perfekt ...
01.03.2015 16:40:39
Matthias L
Hallo
Hast Glück, das ich heute grade mal Lust hatte Deine Datei zu checken.
Hab mal die ganzen kleinen Fehlerchen behoben. (welche ich gefunden habe)
z.B. konnte man Zeile(1) kopieren bzw. entfernen oder eben auf "frei" setzen.
Das hattest Du sicher noch garnicht bemerkt.
Den Kopiermodus sollte man immer beenden:
Application.CutCopyMode = False 'Kopiermodus sauber beenden
Hier die Datei (ohne die Kommentare)
https://www.herber.de/bbs/user/96090.xlsm
über eine Rückmeldung wäre ich Dir dankbar.
Gruß Matthias

Anzeige
AW: ich hoffe so ist es perfekt ...
01.03.2015 17:54:32
Holm
Hallo Matthias,
recht vielen Dank für deine Bemühungen!!! Aber: *Asche auf mein Haupt..."
Zelle B soll bei der eingefügten neuen Zeile auch leer sein!! Also ohne die in der "alten" Zeile vorhandene Artikelnummer! In C und D sollen natürlich die dort rein gehörenden SVERWEISE drin sein, damit beim Eingeben der Artikelnummer in B die entsprechenden Werte erscheinen....
Danke immer noch..... !!!
Holm

na das ist doch einfach
01.03.2015 18:38:00
Matthias L
Hallo
Das ist doch kein großes Problem,
hättest auch selbst drauf kommen können ;-)
Sub CommandButton1_Click()
Dim Zelle As Range
' Aktuelle Zeile kopieren, unterhalb Zeile einfügen und Inhalte in Zellen ohne Formel löschen
Unload Me
If ActiveCell.Column > 1 Then Exit Sub 'nur in Spalte("A") Code ausführen
If ActiveCell.Row > 1 Then
Application.ScreenUpdating = False
ActiveCell.EntireRow.Copy
Cells(ActiveCell.Row + 1, 1).Insert Shift:=xlDown
Cells(ActiveCell.Row + 1, 1).Select
Application.CutCopyMode = False 'Kopiermodus sauber beenden
ActiveCell.Offset(, 1).Select 'nach Spalte(2) wechseln
ActiveCell.ClearContents 'Inhalt entfernen
ActiveCell.Offset(, 3).ClearContents 'E Inhalte wieder entfernen
ActiveCell.Offset(, 4).ClearContents 'F Inhalte wieder entfernen
ActiveCell.Offset(, 5).ClearContents 'G Inhalte wieder entfernen
Else
MsgBox "Zeile1 (Überschriften) wird nicht kopiert!", vbInformation
End If
End Sub
Gruß Matthias

Anzeige
AW: na das ist doch einfach
02.03.2015 18:48:33
Holm
Hallo Matthias,
danke...klar einfach, wenn mans weiss ;-)
Eine letzte Frage:
durch den Teil im Code des Tabellenblatts...
If Target.Address(0, 0) = "C1" Then
Cancel = True
Set X = Cells.Find("", LookIn:=xlValues)
Set X = Nothing
Application.Dialogs(xlDialogFormulaFind).Show
soll eigentlich durch Doppelklick in C1 (anstatt umständlich über Strg+F und dann noch Optionen) ein Suchfenster geöffnet werden. Der Code ist zwar drin, nur leider passiert bei Doppelklick in C1 nix....
auch wieder einfach??
danke und Grüße
Holm

auch das ist "eigentlich" einfach ...
03.03.2015 00:51:28
Matthias L
Hallo
Dein Code:
If Target.Address(0, 0) = "C1" Then
Cancel = True
Set X = Cells.Find("", LookIn:=xlValues)
Set X = Nothing
Application.Dialogs(xlDialogFormulaFind).Show
wird eigentlich nie angesprochen.
If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then ...

lautet Dein Code.
Somit kann nie Target.Address(0, 0) = "C1" sein!
Weil Du den Code nur in Spalte("B") ausführst.
Gruß Matthias

Anzeige
AW: hier die angepasste Datei ...
03.03.2015 10:01:18
Holm
danke...genial!
wünschte, ich hätte die Zeit und ruhe, mich mit sowas allem beschäftigen zu können....
:-))
bis balds.....

Danke für die Rückmeldung :-) owT
03.03.2015 10:24:06
Matthias L

AW: auch das ist "eigentlich" einfach ...
03.03.2015 09:46:33
Holm
Hallo Matthias,
"böhmische Dörfer"....
dass der Code für die Suche nicht ausgeführt wird, weil oben in
If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then ...
nur Spalte B angesprochen wird, leutet mir noch ein.
Wie bekomme ich aber den Code für die Suche in C1
If Target.Address(0, 0) = "C1" Then
Cancel = True
Set X = Cells.Find("", LookIn:=xlValues)
Set X = Nothing
Application.Dialogs(xlDialogFormulaFind).Show
denn nun trotzdem aktiv bzw zum funktionieren?? Was muss ich ändern??
Ohne natürlich die andere Doppelklick-Funktion in der kompletten Spalte B zu beeinträchtigen.
Vielen Dank für die Geduld!!
Holm

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige