5.4k Aufrufe
Gefragt in Tabellenkalkulation von dommel Mitglied (361 Punkte)
Hallo ihr Lieben...
ich habe folgenden Code erstellt.
Allerdings bräuchte ich ne kleine Ergänzung, die ich als "Laie" nicht so hinbekomme wie gewünscht.

Wenn er die Kundennummer eingefügt hat soll er automatisch eine Zeile unter den letzten vorhandenen Datensatz springen, bevor er wieder zu "Kundennummer neu" springt. Damit die eingegebene Nummer nicht wieder überschrieben wird beim nächsten Mal

Ich hoffe, dass ihr mir da weiterhelfen könnt..

Sub Neue_Kundennummer_in_Hauptdatei()
'
' Neue_Kundennummer_in_Hauptdatei Makro
'

'
Range("B4").Select
Selection.Copy
Sheets("Hauptdatei").Select
Range("A8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A9").Select
Sheets("Kundennummer neu").Select
Application.CutCopyMode = False
End Sub


Vielen Dank

22 Antworten

0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

ein Fehler in meinem Makro, da kein richtiger Test möglich ist, dazu wäre ein Nachbau der Datei erforderlich,

Range("A" & Range("A65536").End(xlUp).Row+ 1).Select

Gruß

Helmut
0 Punkte
Beantwortet von dommel Mitglied (361 Punkte)
@rainberg
was du für mich erstellt hast, habe ich in dieser Form schon.

@coros
leider führt er bei deinem nix aus.

Meiner sah ja so aus:

Sub Neue_Kundennummer_in_Hauptdatei()
'
' Neue_Kundennummer_in_Hauptdatei Makro
'

'
Range("B4").Select
Selection.Copy
Sheets("Hauptdatei").Select
Range("A8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A9").Select
Sheets("Kundennummer neu").Select
Application.CutCopyMode = False
End Sub



Für die fett geschriebenen Punkt fehlt mir halt so etwas, dass er stattdessen, die Sachen aus "Kundennummer neu B4" in die erste freie Zeile in Spalte A von "Hauptdatei" einfügt.
0 Punkte
Beantwortet von dommel Mitglied (361 Punkte)
und nicht in die festvergebenen Zeilen, die hier "A8" und "A9" sind (die waren halt bei mir frei)
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Domei,

ändere mal in dem Makro von mir in der Zeile

Sheets("Kundennummer").Range("B4").Copyden Blattnamen in "Kundennummer neu", also lautet die Zeile dann

Sheets("Kundennummer neu").Range("B4").Copydann sollte es funktionieren.
Wobei ich nicht so richtig weiß, was Du eigentlich gegen Rainers Makro hast, denn das macht eigentlich auch dass, was Du willst.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von dommel Mitglied (361 Punkte)
sowas wie er mir dankenswerter weise erstellt hat habe ich leider schon als Makro, sodass er auch nur die Inhalte einfügt, wie ich es vorhatte, was mir halt fehlte: ist der Befehl, dass er sich automatisch die erste Spalte nimmt und da die erste freie Zeile sucht und das da einfügt.

deins funktioniert trotz Änderung irgendwie nicht..
0 Punkte
Beantwortet von dommel Mitglied (361 Punkte)
Habe das eingefügt...

Option Explicit

Sub Neue_Kundennummer_in_Hauptdatei()
Dim lngFirstRow As Long
Application.ScreenUpdating = False
'erste freie Zelle in Blatt "Hauptdatei" ermitteln
lngFirstRow = Sheets("Hauptdatei").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

'Wert aus Blatt "Kundennummer" Zelle B4 kopieren...
Sheets("Kundennummer neu").Range("B4").Copy
'und in Blatt "Hauptdatei" erste freie Zelle Spalte A einfügen
Sheets("Hauptdatei").Range("A" & lngFirstRow).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub


.... aber er führt nix aus...leider :-(.. was ist denn die Anweisung / der VBA Code dafür, dass er in der "Hauptdatei" sucht in Spalte A nach der ersten freien Zeile und dort das aus "kundennummer neu" "b4" einfügt
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo DOMMEI,

da kann ich nur noch mal wiederholen, mein Makro macht genau das, was Du
mehrfach anforderst.
Hast Du es wenigstens mal getestet?

Andernfalls hast Du nicht das gefragt, was Du in Wirklichkeit wissen willst.

Gruß
Rainer
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo DOMMEI,

Du kannst Dich darauf verlassen, dass mein Makro zu 100% das macht, was Du gefordert hast. Es kopiert den Wert aus Tabellenblatt "Kundennummer neu" Zelle "B4" und fügt diesen kopierten Wert in Tabellenblatt "Hauptdatei" in die erste freie Zelle in Spalte A ein. Das war von Dir gefordert und das macht das Makro.

Ich kann Rainer nur zustimmen

Andernfalls hast Du nicht das gefragt, was Du in Wirklichkeit wissen willst.


Eventuell sieht Deine Datei ja auch nur anders aus, als das was wir uns als Beispieldatei erstellt haben. Lade daher mal Deine Datei z.B. http://www.file-upload.net/ hoch und teile uns den Link, den Du erhälst hier mit.

Du kannst Dir aber auch mal meine Beispieldatei unter http://www.excelbeispiele.de/Beispiele_Supportnet/Beispiel_Kundenummern_kopieren.xls herunterladen und da wirst Du sehen, dass das Makro das macht, was Du willst.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

auch mein Makro müsste es leisten, da unsere Makros alle auf den Gleichen weg führen.

Ich kann mich daher @rainberg und @coros nur anschliessen

Gruß

Helmut
0 Punkte
Beantwortet von dommel Mitglied (361 Punkte)
mhhh.. nun bin ich irgendwie ratlos oder total verpeilt..

@rainberg.. dein Makro hat funktioniert... bestens, es allerdings genau so wie meins...

@coros.. die datei die du gemacht hast funktioniert blendend und genau sowie ich mir das gedacht und gesagt habe mit dem code.. aber in meiner datei wills nicht das machen was du da super erstellt hast...deshalb bin ich jetzt total verwirrt...

hier einmal der link meiner datei:
http://www.file-upload.net/download-1925591/ExcelHauptdatei.xls.html
...