Hallo an alle..
ich habe mal wieder eine Frage und bin zuversichtlich, dass ihr die lösen könnt:
Ich baue mir gerade in Excel eine Datenbank auf. Hier würde ich gerne stets einige Daten in vorgefertigte Felder händisch eintragen.
Ziel soll es sein, dass diese eingetragenen Daten automatisch in eine vornummerierte Liste eingepflegt.
Wie in diesem Beispiel:
Bei grün wird händisch eingetragen und bei gelb sollten die eingetragenen Daten erscheinen.
In diesem Fall unter Nr. 1 Projekt: Kita1, Name: Mustermann, Vorname: Max
Dann ist die Eingabe abgeschlossen.
Dann würde ich gerne neue Daten bei grün eintragen und diese sollten dann auf die Nr. 2 gesetzt werden.
[
Bild bitte so als Datei hochladen: Klick mich!]
Danke für eure Hilfe
LG Andreas_Neuling
Moin,
schau mal
hier unter der Überschrift Datenmaske.
Mjhhhhhh
komme damit nicht klar, gibt es andere Ideen?
Hi,
du müsstest deine Tabelle etwas anders aufbauen - siehe Bild. Darin habe ich auch schon die Datenmaske mit dem 2. Eintrag gefüllt.
[
Bild bitte so als Datei hochladen: Klick mich!]
Nach Klick auf Schließen siehst du dann den erfolgten Eintrag in deine Tabelle
[
Bild bitte so als Datei hochladen: Klick mich!]
Die Datenmaske holst du dir über Menüband anpassen==> links Befehle auswählen: Alle Befehle==> Maske suchen und diese in eine bestehende oder neue Gruppe einfügen.
Hi Andreas,
(19.02.2016, 11:19)andreas_neuling schrieb: [ -> ]Ich baue mir gerade in Excel eine Datenbank auf. Hier würde ich gerne stets einige Daten in vorgefertigte Felder händisch eintragen.
Ziel soll es sein, dass diese eingetragenen Daten automatisch in eine vornummerierte Liste eingepflegt.
so?
Sub Kunde_eintragen()
'
' Kunde_eintragen Makro
'
Dim loLetzte As Long
'
loLetzte = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row ' letzte belegte in Spalte B (2)
Range("B1").Copy
Range("B" & loLetzte + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
Range("B3").Copy
Range("C" & loLetzte + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
Range("B5").Copy
Range("D" & loLetzte + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
Application.CutCopyMode = False
End Sub
[
attachment=4268]
Hallo!
Warum so kompliziert (und praxisfern) (gilt dem Andreas)?
- A1: Nr., B1: Projekt, C1: Name, D1: Vorname
- in A2: =Zeile(A1)
- A2 markieren, Einfügen, Tabelle
Jetzt kannst Du Deine Projekte eingeben, Fortbewegung mittels Tab.
Dadurch wird automatisch eine neue Zeile eingefügt und die Nr. wird hochgezählt.
| A | B | C | D |
1 | Nr. | Projekt | Name | Vorname |
2 | 1 | a | Name1 | VN1 |
3 | 2 | | | |
Formeln der Tabelle |
Zelle | Formel | A2 | =ZEILE(A1) | A3 | =ZEILE(A2) |
|
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Ralf
Hallo Andreas,
so ginge es per VBA automatisch bei Eingabe:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngE As Range
Dim varE(1 To 3) As Variant
Set rngE = Range("B1,B3,B5")
If Not Application.Intersect(Target, rngE) Is Nothing Then
On Error Resume Next
Application.EnableEvents = False
varE(1) = rngE.Areas(1).Value
varE(2) = rngE.Areas(2).Value
varE(3) = rngE.Areas(3).Value
If Len(varE(1)) * Len(varE(2)) * Len(varE(3)) Then
With Range(Cells(9, 1), Cells(Rows.Count, 1).End(xlUp))
.Offset(.Rows.Count, 0).Cells(1).Value = Application.Max(.Columns(1)) + 1
.Offset(.Rows.Count, 1).Cells(1).Value = varE(1)
.Offset(.Rows.Count, 2).Cells(1).Value = varE(2)
.Offset(.Rows.Count, 3).Cells(1).Value = varE(3)
End With
rngE = ""
rngE.Areas(1).Select
End If
Application.EnableEvents = True
On Error GoTo 0
End If
End Sub
Der Code kommt in das schon vorhandene VBA-Modul der entsprechenden Tabelle.
Gruß Uwe