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

Daten übergeben ohne doppelte in Zieltabellenblatt

Daten übergeben ohne doppelte in Zieltabellenblatt
25.04.2016 20:51:56
Thomas

Hallo an alle Excel&VBA Profis
ich habe hier mal eine Exceldatei mit zwei Makros eingestellt.
https://www.herber.de/bbs/user/105230.xlsm
Die Endlösung sollte sein, das das Makro "Daten übergeben" in das Tabellenblatt REB die Daten übergibt, was es auch anstandslos tut, jedoch sollen im Tabellenblatt REB keine doppelten Rechnungsnummer erscheinen. Sollte ein nochmaliger Versuch gestartet werden, so soll eine MSGBox erscheine die die Meldung ausgiebt "Daten schon vorhanden / Vorgang abbrechen ja". Dies ist mit meinen Kenntnissen jedoch nur schwer umsetzbar.
Des weiteren benötige ich ein Makro welches aus dem Tabellenblatt REB eine CSV Datei mit vorwählbaren Spalten erstellt und an einem bestimmten frei zu definierenden Ort speichert.
Vielen Dank bereits im Vorraus.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten übergeben ohne doppelte in Zieltabellenblatt
25.04.2016 21:47:54
Fennek
Hallo,
Da ich keine *.xlsm-Dateien öffne, ein etwas allgemeiner Rat.
Um beim Kopieren alle Duplikate zu rntfernen, gibt es den 'Spezialfilter', Menu Daten. Mit dem Rekorder kann man die Syntax aufzeichnen und dann editieren.
Mfg

AW: Daten übergeben ohne doppelte in Zieltabellenblatt
26.04.2016 07:40:44
Thomas
Hallo Fennek,
Sorry habe ich nicht bedacht. Dein Vorschlag ist aber für eine Anwendung für mehrere Nutzer nicht so praktikabel.
Deshalb nochmal die Datei ohne Makro und das bisherige Makro im Text.
https://www.herber.de/bbs/user/105238.xlsx
Sub Eingabe_in_Liste_eintragen()
Dim wksEingabe As Worksheet
Dim wksListe As Worksheet
Dim lngZeile As Long, rngZelle As Range
Set wksEingabe = Worksheets("Rabattberechnung")  'Eingabetabellenblatt
Set wksListe = Worksheets("REB")      'Tabellenblatt in das die Daten geschrieben werden _
sollen
With wksListe
'nächste freie Zeile in Liste
Set rngZelle = .Cells.Find(What:="*", after:=.Range("A1"), LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
If rngZelle Is Nothing Then
lngZeile = 3
Else
lngZeile = rngZelle.Row + 1
End If
.Cells(lngZeile, 1).Value = wksEingabe.Range("A7")
.Cells(lngZeile, 2).Value = wksEingabe.Range("B7")
.Cells(lngZeile, 9).Value = wksEingabe.Range("I7")
.Cells(lngZeile, 10).Value = wksEingabe.Range("J7")
.Cells(lngZeile, 11).Value = wksEingabe.Range("K7")
.Cells(lngZeile, 12).Value = wksEingabe.Range("L7")
.Cells(lngZeile, 13).Value = wksEingabe.Range("M7")
.Cells(lngZeile, 14).Value = wksEingabe.Range("N7")
.Cells(lngZeile, 15).Value = wksEingabe.Range("O7")
.Cells(lngZeile, 16).Value = wksEingabe.Range("P7")
.Cells(lngZeile, 17).Value = wksEingabe.Range("Q7")
.Cells(lngZeile, 18).Value = wksEingabe.Range("R7")
'usw.
End With
End Sub

Anzeige
Daten ohne doppelte
26.04.2016 13:11:34
Rudi Maintaire
Hallo,
Sub Eingabe_in_Liste_eintragen()
Dim wksEingabe As Worksheet
Dim wksListe As Worksheet
Dim lngZeile As Long, rngZelle As Range
Set wksEingabe = Worksheets("Rabattberechnung")  'Eingabetabellenblatt
Set wksListe = Worksheets("REB")      'Tabellenblatt in das die Daten geschrieben werden _
sollen
With wksListe
if worksheetfunction.countif(wkseingabe.Range("B7"),.columns(2)) then
Msgbox ReNr bereits vorhanden!"
else
'nächste freie Zeile in Liste
Set rngZelle = .Cells.Find(What:="*", after:=.Range("A1"), LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
If rngZelle Is Nothing Then
lngZeile = 3
Else
lngZeile = rngZelle.Row + 1
End If
.Cells(lngZeile, 1).Value = wksEingabe.Range("A7")
.Cells(lngZeile, 2).Value = wksEingabe.Range("B7")
.Cells(lngZeile, 9).Value = wksEingabe.Range("I7")
.Cells(lngZeile, 10).Value = wksEingabe.Range("J7")
.Cells(lngZeile, 11).Value = wksEingabe.Range("K7")
.Cells(lngZeile, 12).Value = wksEingabe.Range("L7")
.Cells(lngZeile, 13).Value = wksEingabe.Range("M7")
.Cells(lngZeile, 14).Value = wksEingabe.Range("N7")
.Cells(lngZeile, 15).Value = wksEingabe.Range("O7")
.Cells(lngZeile, 16).Value = wksEingabe.Range("P7")
.Cells(lngZeile, 17).Value = wksEingabe.Range("Q7")
.Cells(lngZeile, 18).Value = wksEingabe.Range("R7")
'usw.
end if
End With
End Sub
Zum Thema csv gibt es unzählige Beiträge im Archiv
Gruß
Rudi

Anzeige
AW: Daten ohne doppelte
26.04.2016 13:35:50
Thomas
Hallo Rudi,
vielen Dank funktioniert nur leider nicht bleibt bei
if worksheetfunction.countif(wkseingabe.Range("B7"),.columns(2)) then
Msgbox ReNr bereits vorhanden!"
stehen

fa1q3579@googlemail.com
26.04.2016 14:42:13
Fennek
Hallo,
Falls der Text mit copy/paste und nicht von Hand übertragen wurde: bei msgbox vor dem Ausgabtext fehlen die Anführungszeichen.
Mfg

AW: ohne doppelte
26.04.2016 09:35:08
Fennek
Hallo,
Hier ist ein Vorschlag für deine erste Frage: Warnen, wenn versucht wird, eine Rechnungsnummer doppelt einzugeben.
Rechte Maustaste auf den 'Reiter' REB: change_evdent anlegen.

Private sub worksheet_change(byval target as range)
If worksheetfunction.countif(columns("B"), target.value) > 1 then
Msgbox "doppelte Rechnungsnummer"
End if
End sub
Mfg

Anzeige
AW: ohne doppelte
26.04.2016 09:51:34
Thomas
Hallo Fennek,
vielen dank das ist schon mal eine gute Alternative für den Anfang

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige