Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellenwert in Userform übernehmen

Forumthread: Zellenwert in Userform übernehmen

Zellenwert in Userform übernehmen
09.03.2006 19:20:14
Claus
Hallo Excelgemeinde,
auf welche Art und Weise kann man per VBA den Wert einer Zelle auslesen, in einer Variablen speichern, anschließend eine Userform mit Textbox initialisieren und den Zellwert in der Textbox als textbox1.value zur Verfügung stellen?
Danke und Gruß an alle ExcelianerInnen
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellenwert in Userform übernehmen
09.03.2006 19:22:36
Bertram
Hi Claus,
dafür brauchst du nicht zwingend eine Variable.

Private Sub UserForm_Initialize()
Me.TextBox1.Value = Range("A1")
End Sub

Gruß
Bertram
AW: Zellenwert in Userform übernehmen
09.03.2006 19:22:50
chris
Meinst du so ?

Private Sub UserForm_Initialize()
TextBox1.Value = Cells(1, 1)
End Sub

Anzeige
AW: Zellenwert in Userform übernehmen
09.03.2006 19:25:27
chris
Und falls du einen Variable willst geht das so:
'IN ein Standartmodul
Public cb As String
Sub start()
cb = Cells(1, 1).Value
UserForm1.Show
End Sub
'In das Modul der Userform

Private Sub UserForm_Initialize()
TextBox1.Value = cb
End Sub

Anzeige
AW: Zellenwert in Userform übernehmen
09.03.2006 19:32:30
Claus
Hallo vielen Dank,
ja so wird es wohl funktionieren.
Wenn ich die Frage ein wenig vertiefe, würde ich gern noch erfahren, wie man in der Tabelle nach einer benannten Zelle sucht "Artikelnummer", und dann deren Wert in der Variablen speichert und für die Userform bereitstellt.
Falls keine benannte Zelle "Artikelnummer" vorhanden ist, soll textbox1.value = "ArtNr" sein.
Danke und Gruß
Anzeige
AW: Zellenwert in Userform übernehmen
09.03.2006 19:42:58
chris
Das geht z.b so.

Private Sub UserForm_Initialize()
Set nms = ActiveWorkbook.Names
Set wks = Worksheets(1)
For r = 1 To nms.Count
If nms(r).Name = "Artikelnummer" Then
x = True
Exit For
Else
x = flase
End If
Next
If x = True Then
TextBox1.Value = Range("Artikelnummer").Value
Else
TextBox1.Value = "ArtNr"
End If
End Sub

Hat es geholfen ?
Anzeige
AW: Zellenwert in Userform übernehmen
09.03.2006 19:46:09
Bertram
Um Chris Beispiel aufzugreifen:

Sub start()
On Error GoTo Fehler:
cb = Range("Artikelnummer").Value
UserForm1.Show
Exit Sub
Fehler:
cb = Cells(1, 1).Value
UserForm1.Show
End Sub

Gruß
Bertram
AW: Zellenwert in Userform übernehmen
09.03.2006 19:47:32
PeterW
Hallo Claus,
warum machst du dir das Leben unnötig schwer? Stell einfach sicher, dass eine benannte Zelle "Artikelnummer" besteht. Allenfalls macht es Sinn zu prüfen, ob diese Zelle leer ist.
Davon abgesehen ist der erste Ansatz von Chris vorzuziehen.
Gruß
Peter
Anzeige
;
Anzeige

Infobox / Tutorial

Zellenwert in Userform übernehmen


Schritt-für-Schritt-Anleitung

Um den Zellenwert in einer Userform zu übernehmen, kannst Du die folgenden Schritte ausführen:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (Alt + F11).
  2. Füge eine Userform hinzu (Rechtsklick im Projektfenster -> Einfügen -> Userform).
  3. Füge ein Textfeld (Textbox) zur Userform hinzu.
  4. Verwende den folgenden VBA-Code, um den Wert aus einer bestimmten Zelle zu übernehmen:
Private Sub UserForm_Initialize()
    Me.TextBox1.Value = Range("A1").Value ' Hier wird der Wert aus Zelle A1 übernommen
End Sub
  1. Wenn Du den Wert einer benannten Zelle, wie „Artikelnummer“, übernehmen möchtest, kannst Du folgenden Code verwenden:
Private Sub UserForm_Initialize()
    On Error Resume Next
    Me.TextBox1.Value = Range("Artikelnummer").Value
    If Err.Number <> 0 Then
        Me.TextBox1.Value = "ArtNr" ' Standardwert, falls die benannte Zelle nicht existiert
    End If
    On Error GoTo 0
End Sub

Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 1004: Anwendung oder Objektdefiniert“

    • Lösung: Stelle sicher, dass die benannte Zelle „Artikelnummer“ tatsächlich existiert und korrekt geschrieben ist.
  • Fehler: TextBox bleibt leer

    • Lösung: Überprüfe, ob der Code im richtigen Ereignis (UserForm_Initialize) und mit der richtigen Zelle verknüpft ist.

Alternative Methoden

Falls Du eine Variable verwenden möchtest, kannst Du den Wert auch wie folgt speichern:

Public cb As String

Sub start()
    cb = Cells(1, 1).Value
    UserForm1.Show
End Sub

Private Sub UserForm_Initialize()
    TextBox1.Value = cb
End Sub

Diese Methode ist nützlich, wenn Du den Wert aus einer anderen Subroutine übergeben möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele für die Verwendung der Userform:

  1. Zellenwert aus Zelle A1 übernehmen:
Private Sub UserForm_Initialize()
    TextBox1.Value = Range("A1").Value
End Sub
  1. Wert einer benannten Zelle übernehmen oder Standardwert setzen:
Private Sub UserForm_Initialize()
    If Not IsEmpty(Range("Artikelnummer")) Then
        TextBox1.Value = Range("Artikelnummer").Value
    Else
        TextBox1.Value = "ArtNr"
    End If
End Sub

Diese Beispiele zeigen, wie Du mit VBA effizient Zellenwerte in eine Userform übertragen kannst.


Tipps für Profis

  • Nutze die On Error Resume Next-Anweisung, um Laufzeitfehler zu vermeiden, wenn eine benannte Zelle nicht existiert.
  • Überprüfe vor der Verwendung von Werten, ob die Zellen leer sind, um unerwartete Ergebnisse zu vermeiden.
  • Experimentiere mit verschiedenen Steuerelementen in der Userform, um die Benutzeroberfläche zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich einen Wert aus einer anderen Arbeitsmappe übernehmen?
Du musst die Arbeitsmappe zuerst aktivieren oder den Arbeitsmappenbezug im Code angeben, z.B. Workbooks("AndereMappe.xlsx").Sheets("Tabelle1").Range("A1").Value.

2. Kann ich mehrere Textboxen mit verschiedenen Zellwerten befüllen?
Ja, Du kannst mehrere Textboxen in der UserForm_Initialize-Subroutine ansprechen und verschiedene Zellwerte zuweisen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige