Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Makro zum Daten Speichern
#1
Hallo,

ich brauche mal eure Hilfe, ich suche in meiner Liste einen Namen und lasse mir Daten dazu anzeigen. Jetzt möchte ich über ein Makro im Feld hinter dem gesuchten Namen etwas ergänzen, damit ich später die Liste mit der Info habe. Eine vereinfachte Beispieldatei liegt bei. Vielleicht kann mir da einer von euch einen Denkanstoß geben.

Vielen Dank
Gruß


Angehängte Dateien
.xlsx   Mappe3.xlsx (Größe: 13,3 KB / Downloads: 11)
Antworten Top
#2
Moin,

dass es bislang Recht ruhig um deine Anfrage ist, könnte daran liegen, dass sich der Sinn eventuell nicht ganz erschließt. Warum trägst du die Information nicht einfach direkt in die Tabelle ein und verzichtest auf die zusätzliche Maske?

Ansonsten benötigst du im Grunde nur fünf aufeinander aufbauende Fähigkeiten in VBA
1. Einen Wert aus einem Zellobjekt lesen:
Code:
einWert = Zellobjekt.Value
2. Einen Wert in ein Zell-Objekt schreiben:
Code:
Zellobjekt.value=einWert
3. Eine Zelle anhand einer ID finden:
Code:
Set FundZelle = Suchbereich.Find(dieID, lookIn:= xlValues, lookat:= xlWhole)
4. Eine Zelle anhand ihrer Nachbarzelle lokalisieren:
Code:
Set Zielzelle = Nachbarzelle.Offset(AnzahlZeilenDarunter,AnzahlSpaltenRechtsDavon)
5. Auf die Änderung einer Zelle reagieren:
Code:
Private Sub Worksheet_change(ByVal Target As Range)
    If Not Intersect(Target, Range("C4")) Is Nothing Then TuWasMit Target
End Sub

Jetzt hängt es eigentlich nur noch von deinen VBA-Fähigkeiten zur Adaption ab.

Viele Grüße
derHöpp
[-] Folgende(r) 1 Nutzer sagt Danke an derHoepp für diesen Beitrag:
  • SON09
Antworten Top
#3
Hallo

dieser kleine Code, im Beispiel getestet, funktioniert bei mir einwandfrei.  Ohne Button!!
Ich weiss nicht wie lange der Frager braucht um so einen simplen VBA Code selbst zu erstellen???

Dieser Cocde gehört in das "Info" Sheet, nicht in ein normales Modul'!!  Target Makro mit 2 Addressen.

mfg Gast 123

Code:
Dim x As Integer        '4.9.2023  Gast 123  für Clever Forum

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$4" Then
   If IsError(Range("C6")) Then
      MsgBox "Ungültiger Name"
      Target.Select: Exit Sub
   End If
   Range("C8").Select
ElseIf Target.Address = "$C$8" Then
   x = Range("C6").Value + 1
   Worksheets("Daten").Cells(x, 3) = Target.Value
   Range("C4").Select
End If
End Sub
Antworten Top
#4
Ganz einfach der Fragende (nicht Frager) lernt gerade erst VBA programmieren und der Code war auch schnell erstellt aber der Fehler war dass ich es in einem eigenen Modul hatte wie du sagst, also trotzdem Danke :)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste