Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform mehrere Tabellen

Userform mehrere Tabellen
05.02.2005 17:44:23
Willi
Hallo,
habe mir mit VBA Userform mit Code angelegt. Dieses möchte ich in mehreren Tabellen Verwenden! aber bezogen auf die aktuelle Tabelle. Wenn ich den Code pro Tabelle verändere ändert er sich aber auch in allen anderen Tabellen ( habe die Tabellen von der ersten Tabelle kopiert ). Wie kann ich das Beziehen auf andere Tabelle verhindern ?
Danke in Voraus und Gruss Willi
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Userform mehrere Tabellen
05.02.2005 17:47:55
chris
Hallo verstehe deine frage zwar nicht so richtig aber so wie ich sie verstehe musst du einfach vor deinen Zellbezügen usw... das Sheet mit angeben also z.b nicht nur
cells(1,1) ="ok"
sondern
worksheets("aktuell").cells(1,1) = "ok"
Wenns das war hoffe ich geholfen zu haben.
AW: Userform mehrere Tabellen
05.02.2005 17:58:32
Willi
Danke Chris b ,habe mich vielleicht nicht richtig ausgedrück. Also : Ich will meine Daten aus der Uerform-Grufik in die aktuelle Tagbelle ( z.B. Februar) schreiben. ich habe meine erste Tabelle aber Januar genannt, zwöflmal kopiert und in Januar Februar usw. umbenannt. Wenn ich jetzt in Tabelle Februar den Code auf Februar ändere wird er in allen zwölf Tabellen auf Februar geändert. das ist mei Problem. Gruss Willi
Anzeige
AW: Userform mehrere Tabellen
06.02.2005 00:03:41
chris
also ohne deinen Code zu sehen verstehe ich dein Problem nicht.
Wenn dir meine erklärung nicht helfen kann lade doch mal die Datei auf den server damit mann sie sich mal ansehen kann.
AW: Userform mehrere Tabellen
06.02.2005 12:02:46
ray
hmm, ich weiß auch nicht genau, was du meinst...
Ich vermute, du ruftst die selbe uf von unterschiedlichen tabellen auf und bearbeitest die uf und gibst von ihr werte auf das tb zurück!?
Dann ist dein problem wahrscheinl, daß du in der uf als ziel "tabNameDeinerMappe" angegeben hast. Die lösung wäre hier, daß du als ziel deiner ausgabe "activeSheet" definierst. Ich hatte mal eine ähnliches probl, und mußte vor der ausgabe noch das sheet abfragen.
ray
Anzeige
Gute Idee oT
Herbert
ot
nochmal Erklärung
06.02.2005 12:48:48
Willi
Habe in einem Tabellenblatt ein Formular mit VBA erstellt,dazu einen Code geschrieben.Dann habe ich das Tabellenblatt kopiert. Wenn ich nun in der Kopie den Code ändere, ändert er sich auch im Original. Soll er aber nicht.
Gruss Willi
AW: nochmal Erklärung
Udo
Glaub ich nicht, lad mal ein Beispiel hoch.
Udo
Anzeige
;
Anzeige

Infobox / Tutorial

Userform in mehreren Excel-Tabellen nutzen


Schritt-für-Schritt-Anleitung

Um eine Userform in mehreren Tabellen zu nutzen, ohne dass Änderungen in einer Tabelle auch in den anderen Tabellen übernommen werden, folge diesen Schritten:

  1. Erstelle eine Userform in deiner Excel-Datei. Nutze dazu den VBA-Editor (Alt + F11) und füge eine neue Userform hinzu.
  2. Füge Steuerelemente wie Textfelder oder Buttons zu deiner Userform hinzu, um die Eingabedaten zu erfassen.
  3. Schreibe den VBA-Code, um die Daten in die aktive Tabelle zu übertragen:
    Private Sub CommandButton1_Click()
       Dim ws As Worksheet
       Set ws = ActiveSheet
       ws.Cells(1, 1).Value = Me.TextBox1.Value ' Beispiel für TextBox1
    End Sub
  4. Vermeide direkte Zellbezüge wie Cells(1, 1) ohne das vorherige Festlegen des Arbeitsblatts. Stattdessen solltest du ActiveSheet verwenden, um auf die aktuelle Tabelle zuzugreifen.
  5. Kopiere deine Tabellen und passe den Code nur in der jeweiligen Kopie an, ohne die Originalformulierung zu verändern.

Häufige Fehler und Lösungen

  • Problem: Änderungen im Code der Kopie wirken sich auch auf das Original aus.

    • Lösung: Stelle sicher, dass du den Code nicht direkt in die Kopie einfügst, sondern in eine neue Instanz der Userform. Ändere den Verweis auf das Arbeitsblatt zu ActiveSheet.
  • Problem: Die Userform gibt Werte an das falsche Tabellenblatt aus.

    • Lösung: Verwende den Befehl ActiveSheet, um sicherzustellen, dass die Daten in die gerade aktive Tabelle geschrieben werden.

Alternative Methoden

Eine alternative Methode, um Daten in verschiedenen Tabellen zu verarbeiten, besteht darin, die Userform dynamisch zu gestalten. Hier sind einige Schritte:

  1. Erstelle eine globale Variable für das aktuelle Arbeitsblatt:
    Dim currentSheet As Worksheet
  2. Setze die Variable beim Öffnen der Userform:
    Private Sub UserForm_Initialize()
       Set currentSheet = ActiveSheet
    End Sub
  3. Verwende die Variable in deinem Code, um Daten zu speichern:
    currentSheet.Cells(1, 1).Value = Me.TextBox1.Value

Praktische Beispiele

Hier sind einige praktische Beispiele für den Einsatz von Userforms in mehreren Excel-Tabellen:

  • Beispiel 1: Ein Formular zur Eingabe von monatlichen Ausgaben, das die Daten in das jeweils aktive Tabellenblatt überträgt.
  • Beispiel 2: Ein Formular zur Erfassung von Kundeninformationen, das auf das aktuelle Blatt (z. B. "Februar") angewendet wird, ohne dass die Daten in anderen Blättern verändert werden.

Tipps für Profis

  • Nutze Module: Lagere den Code in ein Modul aus, um die Wiederverwendbarkeit zu erhöhen.
  • Nutze Fehlerbehandlung: Implementiere eine Fehlerbehandlung in deinem Code, um unerwartete Probleme beim Ausführen der Userform zu vermeiden.
  • Teste regelmäßig: Teste deine Userform in verschiedenen Tabellen, um sicherzustellen, dass der Code wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Warum ändern sich die Codes in den anderen Tabellen, wenn ich einen Code ändere? Die Codes sind in Excel standardmäßig verknüpft, wenn du die Tabellen kopierst. Du musst sicherstellen, dass du eine separate Instanz der Userform erstellst.

2. Wie kann ich sicherstellen, dass die Userform nur für die aktive Tabelle funktioniert? Verwende den ActiveSheet-Befehl im Code, um sicherzustellen, dass die Daten nur in die gerade aktive Tabelle geschrieben werden.

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