Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
796to800
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
796to800
796to800
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

neue zeile mit vorher angegebenen datensatz einfüg

neue zeile mit vorher angegebenen datensatz einfüg
05.09.2006 13:55:44
lueckii
Hallo Zusammen!
Hab da n Problem.
Ich hab ne Excel-Tabelle mit Kundennamen. Jetzt will ich mit nem Command Button
ein Dialogfeld(MsgBox) öffnen, in das ich den Namen eines neuen Kunden eintragen kann und der dann in der nächsten freien Zeile dieser Tabelle erscheint.
Hat irgendjemand vielleicht ne Idee? Das mit dem Namen in das Dialogfeld eingebn hab ich schon. Allerdings weiß ich nicht, wie man das eingegebene dann in die Tabelle an eine bestimmte Position "importiert"
Viele Grüße

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: neue zeile mit vorher angegebenen datensatz einfüg
05.09.2006 14:06:29
Harald E
Hi,
hier ein Ansatz für Spalte A...also 1
Dim Lrow As Long, neuer As String
'erste freie Zelle in Spalte A
Lrow = Cells(Rows.Count, 1).End(xlUp).Row + 1
neuer = InputBox("Bitte Namen eingeben")
If neuer <> "" Then Cells(Lrow, 1) = neuer
Gruss Harald
AW: neue zeile mit vorher angegebenen datensatz einfüg
05.09.2006 14:08:22
IngGi
Hallo lueckii,
mit
Range("A65536").End(xlUp).Offset(1, 0)
verweist du auf die erste freie Zelle in Spalte A unterhalb deiner bisherigen Liste.
Gruß Ingolf
AW: neue zeile mit vorher angegebenen datensatz einfüg
05.09.2006 15:14:28
luecii
Vielen Dank für die Lösung Harald.
Jetzt noch ne frage, die wahrscheinlich etwas komplexer ist.
Alle Kunden aufd dem Einen Tabellenblatt, haben bestimmte umsätze,etc. diese sind auf weiteren Tabellenblättern einzutragen.
Kunden.........Umsätze........Mitarbeiter
A.......B........ A.......B...........A......B
1...Maier....Maier..30000.....Maier...2
2...Müller...Müller.50000.....Müller..4
....... ........... ...........
............verkaufte Stück
................Maier 500
...............Müller 1000
Wenn ich nun in das Tabellenblatt Kunden einen neuen Kunden Eintrage, sollte ´der Name automatisch auch auf allen anderen Tabellenblättern erscheinen. Wie mach ich das am geschicktesten? Da auf den anderen Tabellenblättern die Namen nicht die untersten Einträge sein können (Mist)( auf dem Sheet "Umsätze" ist auch noch die Tabelle "verkaufte Stück" drauf), geht das mit der oberen Funktion ja nicht. Wie kann ich eine Spalte am unteren Ende beider Tabellen(Umsätze und verkaufte Stück) mit dem neuen Kunden einfügen?
Ich weiß, ist schwer zu verstehen aber ich versuch des jetzt schon seit 2 Tagen und funktionieren tuts gerade mal null
Vielen Dank im vorraus
Anzeige
AW: neue zeile mit vorher angegebenen datensatz einfüg
05.09.2006 17:15:48
Harald E
Hi nochmal,
du hast Recht. Das ist in der Tat schwer zu verstehen. ;-)
...und wenn ein Name nicht nur einmal vorkommt, warten schon die nächsten Probleme.
Ich hab so die Befürchtung, dass Du mit Excel Access nachbauen willst.
Vielleicht solltest Du dir zuerst überlegen, was deine Tabelle können muss und ob eine doppelte Datenhaltung Sinn macht, da es Autofilter, Sortier- bzw. Teilergebnisfunktionen gibt.
Ich mach für heute Feierabend ;-)
Gruß
Harald
AW: neue zeile mit vorher angegebenen datensatz einfüg
06.09.2006 09:02:55
Lueckii
Tach Harald!
Ich möchte nicht mit Access nachbessern. Namen kommen auch nicht doppelt vor.
Ich lad mal ne besipieldatei hoch, wo nochmal erklärt is, was ich meine!
https://www.herber.de/bbs/user/36445.xls
Vielen Dank trotzdem
Anzeige
AW: neue zeile mit vorher angegebenen datensatz einfüg
06.09.2006 12:48:45
lueckii
Mercimercimercimercimerci.................
Saustark. Jetzt muß ichs nur noch ummünzen
Vielen vielen Dank
Danke für die Rückmeldung owT
06.09.2006 13:04:39
Harald E
Gruss Harald
AW: Danke für die Rückmeldung owT
06.09.2006 15:09:07
lueckii
Hi nochmal. gibt doch noch n Problem!
Also, ich hab des ding jetzt auf meine Tabellen umgeschrieben. Allerdings bekomm ich immer ne Fehlermeldung(Laufzeitfehler 1004:Anwendungs- oder objektdefinierter Fehler), wenn versucht wird die neue Zeile in den nachfolgenden Excelsheets einzufügen. Der Unterschied zu dem Bspfile ist eigentlich nur, daß die Nummer in Spalte B steht und der Kunde in Spalte C. Der 1. Kunde steht an der Stelle C5 also hab ich den Code mal so ungeändert
With Sheets("Eingabe LAB-Schwankung")
LrowA = .Range("C5").End(xlDown).Row + 1
If .Range("C" & LrowA) <> "" Then MsgBox "Einfügefehler in Blatt Umsatz"
.Rows(LrowA).Insert Shift:=xlDown
.Range("C" & LrowA) = neuer
End With
Der Fehler taucht beim Debuggen der If Bedingung auf. Woran könnte dat denn liegen?
Gruß Martin
Anzeige
AW: Danke für die Rückmeldung owT
07.09.2006 07:31:17
Harald E
Hi Martin,
da kann ich nur raten. Ich geh mal davon aus, dass kein Blattschutz sitzt.
Probiers mal so.
With Sheets("Eingabe LAB-Schwankung")
.activate
LrowA = .Range("C5").End(xlDown).Row + 1
If .Range("C" & LrowA) <> "" Then MsgBox "Einfügefehler in Blatt Umsatz"
.Rows(LrowA).Insert Shift:=xlDown
.Range("C" & LrowA) = neuer
End With
Hilft's nicht, dann mal den Code per Einzelschritt ( F8 ) durchgehen und schauen was passiert,mit Mauszeiger die Werte der Variablen anzeigen lassen.
Gruss Harald
AW: Danke für die Rückmeldung owT
07.09.2006 12:58:45
lueckii
Hallo schon wieder. Das funktioniert nicht.
Der Wert von LrowA wird hier nach der Prüfung nicht 5 oder 6 oder7.....
LrowA = .Range("C5").End(xlDown).Row + 1
sondern 65778, was ja dann wohl heißt, daß die Prüfung den Wert nicht auf die erste freie Zeile setzt, sondern auf den letzten verfügbaren datensatz. Wie könnte ich das den machen
Gruß
Anzeige
AW: Danke für die Rückmeldung owT
07.09.2006 13:17:19
Harald E
Nunja,
zum einen wird LrowA max. 65536 zum anderen LrowA + 1 überschreitet die Excel-Limits
(daher die fehlermeldung)
Vorraussetzung: Unterhalb von C5 ist kein weiterer Eintrag, der aber erforderlich ist.
End(XlDown) sucht nach unten bis er eine gefüllte Zelle findet. In deiner Mustermappe war es das Wort "gesamt"
Frag einfach ab, oder bau Code bzw. Tabelle um.
Abfrage:
If LrowA > 65000 then
msgbox "Junge, Junge. Schon wieder was faul"
exit sub
end if
Gruss Harald
AW: Danke für die Rückmeldung owT
07.09.2006 13:50:55
lueckii
Hallo schon wieder. Das funktioniert nicht.
Der Wert von LrowA wird hier nach der Prüfung nicht 5 oder 6 oder7.....
LrowA = .Range("C5").End(xlDown).Row + 1
sondern 65778, was ja dann wohl heißt, daß die Prüfung den Wert nicht auf die erste freie Zeile setzt, sondern auf den letzten verfügbaren datensatz. Wie könnte ich das den machen
Gruß
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige