1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Excel VBA

Discussion in 'Office-Programme' started by Jaan, Dec 23, 2008.

Thread Status:
Not open for further replies.
  1. Jaan

    Jaan ROM

    Hallo Freunde

    ich versuche mit Button_Click() die Eingabe in txtTextBox Name ( J2:J24) Nachname (K2:K24) anzeigen. bei jeder Button Click solle es neuen Daten in neuen Cell angezeigt werden. es heisst wenn J2 voll ist denn sollte es J3 nehmen.

    Genau möchte ich die gleiche Daten Eingabe im Sheet2 ( Name (A2:A24) und Nachname (B2:B24)) eingenomen werden.


    Hier ist das VBA Code.

    Private Sub cmdButton_Click()
    Dim Name As String
    Dim Surname As String
    Dim Fullname As String

    Name = txtName.Text
    Surname = txtSurname.Text

    Fullname = Name & "" & Surname
    txtFullname.Text = Fullname

    End Sub

    Aber leider weiter komme ich nicht Bitte melde euch wenn Ihr hilfen konnte....Vielen Dank
    Vielen Dank

    grusse

    Jaan
     
  2. Urs2

    Urs2 Megabyte

    Hallo Jaan,

    Du hast auf einem Blatt einen CommandButton.
    Ich weiss nun nicht so recht, was Du erreichen willst. Was soll der Button bewirken ?

    1. Du hast ein Tabellenblatt1 mit einer Namensliste, in 2 Zellen, getrennt in Vor- und Nachname. Richtig ?
    2. Ist diese Liste endgültig, oder wird sie laufend verändert/erweitert ?

    3. Du willst in Tabellenblatt2 diese Namen in der Form "Vorname Nachname" anzeigen. Richtig ?

    Aber auch >
    Dein Code stammt ursprünglich aus einem Userform, das Eingaben des Benutzers erwartet.
    4. Was soll der eingeben, und was soll damit gemacht werden ?

    5. Sollen damit neue Namenseinträge in die beiden Blätter eingefügt werden ?

    Gruss Urs
     
  3. Jaan

    Jaan ROM

    Hallo Urs,

    Danke für ne Anwort.
    ich habe zwiesen zeit von Wer weiss was.de die hilfe bekommen und es fünktioniert wunbar.

    hier ist die lösung die es auch haben möchten.

    Option Explicit
    '
    Private Sub cmdButton_Click()
    Dim strName As String, strSurname As String, wks1 As Worksheet, wks2 As Worksheet
    Set wks1 = Worksheets("Tabelle1")
    Set wks2 = Worksheets("Tabelle2")
    strName = txtName.Text
    strSurname = txtSurname.Text
    txtFullname.Text = strName & " " & strSurname
    If strName <> "" And strSurname <> "" Then
    Call Daten(wks1, strName, strSurname, 10)
    Call Daten(wks2, strName, strSurname, 1)
    Else
    MsgBox "fehlende Eingabe"
    End If
    End Sub
    '
    Sub Daten(wks As Worksheet, strN As String, strS As String, Spa As Integer)
    Dim Zei As Long
    Zei = wks.Cells(Rows.Count, Spa).End(xlUp).Row + 1
    If Zei <= 24 Then
    wks.Cells(Zei, Spa) = strN
    wks.Cells(Zei, Spa + 1) = strS
    Else
    MsgBox "Überlauf in " & Chr(64 + Spa)
    End If
    End Sub

    Vielen Dank noch mals

    Grusse

    Jaan
     
  4. Jaan

    Jaan ROM

    Hallo

    kann jemand Bitte mir erklären, was hier geändert werden soll, das die eingebne Wert am TextBox (strName und strNachname) in Tabelle 2 ab A18 und B18 angezeigt werden soll.

    Option Explicit
    '
    Private Sub cmdButton_Click()
    Dim strName As String, strSurname As String, wks1 As Worksheet, wks2 As Worksheet
    Set wks1 = Worksheets("Tabelle1")
    Set wks2 = Worksheets("Tabelle2")
    strName = txtName.Text
    strSurname = txtSurname.Text
    txtFullname.Text = strName & " " & strSurname
    If strName <> "" And strSurname <> "" Then
    Call Daten(wks1, strName, strSurname, 10)
    Call Daten(wks2, strName, strSurname, 1)
    Else
    MsgBox "fehlende Eingabe"
    End If
    End Sub
    '
    Sub Daten(wks As Worksheet, strN As String, strS As String, Spa As Integer)
    Dim Zei As Long
    Zei = wks.Cells(Rows.Count, Spa).End(xlUp).Row + 1
    If Zei <= 24 Then
    wks.Cells(Zei, Spa) = strN
    wks.Cells(Zei, Spa + 1) = strS
    Else
    MsgBox "Überlauf in " & Chr(64 + Spa)
    End If
    End Sub

    Vielen Dank
     
  5. Urs2

    Urs2 Megabyte

    Das ist kein Problem, lass den Code so wie er ist. Aber >

    Im Tabellenblatt2, in der Zelle A17, muss irgendetwas stehen.
    - entweder der Spaltentitel "Vorname",
    - oder ein X, ein Punkt oder sonst irgendetwas.
    Unterhalb von A17, oder unterhalb der schon eingetragenen Vornamen, darf dann allerdings überhaupt nichts stehen,

    Dann beginnt der Code ab den Zellen A18/B18 zu schreiben.


    Wir haben uns ja schon per PN unterhalten.
    Hier im Anhang die Datei von Jaan (mit seiner Erlaubnis). Es ist eine normale XLS, einfach die TXT-Endung entfernen.

    Ich begreife einfach nicht, was Du erreichen willst !
    Was der Code tut sehe ich, ich kann mir aber einfach keinen vernünftigen Sinn dafür vorstellen.
    Mit Ueberlaufmeldungen kann man doch keine nutzbare Anwendung machen...
    Dein Helfer bei Wer-Weiss-Was hatte ja auch nur geraten...

    Im Forum darf nur Deutsch geschrieben werden. Du kannst mir aber eine PN schicken, auf französisch oder englisch.
    Vielleicht kannst Du mir so besser erklären, warum Du welche Namen irgendwo hinspeichern willst.

    Gruss Urs
     

    Attached Files:

  6. Jaan

    Jaan ROM

    Hallo Urs,


    Danke Dir für Anwort und for Erklärung.

    ich habe es geschafft, was ich an die Datei haben möchte.

    Taballe1 dient als Eingabe ( "UserForm" mit verschiedane Text Box und Labels mit Button ), die die eingegebne Werte im Tabelle2 am bestimmte Zelle anzeigen.

    das die eingebne Wert am TextBox (strName und strNachname) in Tabelle 2 ab A18 und B18 angezeigt werden soll.

    Note: Hier werde die Daten jetzt am Tabelle2 ab Zelle 18 bis 26 angezeigt werde!!
    ..................

    If ....
    Call Daten(wks2, strName, strSurname, 1,18, 26)
    ....................
    ......................
    End Sub

    Sub Daten(wks As Worksheet, strN As String, strS As String, Spa As Integer, Von, Bis)
    ...................

    wks.Cells(Zei, Spa) = strS

    wks.Cells(Zei, Spa - 1) = strN

    .................
    End Sub

    Danke euch Grusse Jaan
     
Thread Status:
Not open for further replies.

Share This Page