Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1436to1440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Über Userform VBA-Code ändern

Über Userform VBA-Code ändern
31.07.2015 12:39:07
Christian
Hallo zusammen,
ich würde gerne über eine UserForm einen VBA Code ändern.
Mein Code, der geändert werden soll, sieht so aus:
letzteZeile = Cells(Rows.Count, 14).End(xlUp).Row
With Range("Q2:Q" & letzteZeile)
.FormulaLocal = "=Wenn(N2="""";"""";R2-SVERWEIS(N2;{0.2;8.3;16.4;24.5;32.6;40.7};2;1))" ' Produktionszeit: 0-8 std = +2 Tage, 8-16 std = +3 Tage, 16-24 std = +4 Tage, 24-32 std = +5 Tage, 32-40 std = +6 Tage, mehr als 40 std = +7 Tage ***
End With
Ich würde gerne die Fett markierten Zahlen über eine UserForm ändern können.
Ich habe entsprechend TextBox1-6.
Vielen Dank für eure Hilfe.

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Über Userform VBA-Code ändern
31.07.2015 12:45:03
Rudi
Hallo,
willst du wirklich den Code ändern oder nur die Zahlen variabel halten?
Gruß
Rudi

AW: Über Userform VBA-Code ändern
31.07.2015 12:48:35
Christian
Hallo Rudi,
ich möchte die Zahlen variabel halten, d.h. wenn nötig über die UF_Änderung (TextBox1-6) die Zahlen ändern können. Wichtig ist, dass die geänderten Zahlen gespeichert werden, d.h. wenn ich die Liste speichere sollen die Zahlen der letzten Änderung genommen werden - bis ich die Zahlen wieder ändere.
Ich hoffe es ist verständlich.
Danke

AW: Über Userform VBA-Code ändern
31.07.2015 12:51:47
ransi
Hallo,
Du musst dir den String für die Formel wieder zusammenfrickeln.
Schau es dir mal an:
With UserForm1
    Range("Q2:Q" & letzteZeile).FormulaLocal = "=Wenn(N2="""";"""";R2-SVERWEIS(N2;{0." & .TextBox1.Value & ";8." & .TextBox2.Value & ";16." & .TextBox3.Value & ";24." & .TextBox4.Value & ";32." & .TextBox5.Value & ";40." & .TextBox6.Value & "};2;1))"
End With

ransi

Anzeige
AW: Über Userform VBA-Code ändern
31.07.2015 13:38:21
Daniel
Hi
wenn die letzte Eingabe in die Textbox beim Schließen der Datei gespeichert werden soll, dann verknüpfe die Textbox mit einer Ausgabezelle auf einem Tabellenblatt.
Trage hierzu die Zelleadresse mit Tabellenblattname in die Eigenschaft "ControlSource" ein.
("Tabelle1!A1")
damit sind Textbox und Zelle mit einander verküpft, dh der aktuelle Textboxinhalt wird immer in die Zelle geschrieben und auch bei einer Zelländerung wird die Textbox automatisch aktualisiert.
Und der Zellinhalt wird natürlich mit gespeichert...
das zusammenfrickeln der Formel würde ich so machen:
dim Fo as string
Fo = "=Wenn(N2="""";"""";R2-SVERWEIS(N2;{0.xx1;8.xx2;16.xx3;24.xx4;32.xx5;40.xx6};2;1))"
Fo = Replace(Fo, "xx1", Textbox1.Text)
Fo = Replace(Fo, "xx2", Textbox2.Text)
...
Fo = Replace(Fo, "xx6", Textbox6.Text)
sind vielleicht ein paar zeilen mehr zu programmieren, ist aber wesentlich überichlicher als die Formel mit & aus Einzelteilen zusammenzufrickeln.
Gruß Daniel

Anzeige
AW: Über Userform VBA-Code ändern
03.08.2015 08:29:45
Christian
Vielen Dank

AW: Über Userform VBA-Code ändern
03.08.2015 09:10:43
Christian
Hallo Daniel,
ich habe mir die Formel jetzt so zusammengebaut:
(Die Nummern der TB musste ich ändern.)
Dim letzteZeile As Long
Dim Fo As String
letzteZeile = Cells(Rows.Count, 14).End(xlUp).Row
With Range("Q2:Q" & letzteZeile)
'
In die TextBoxen trage ich eine Zahlt ein.
Leider wird in Spalte Q das Datum nicht berechnet und eingetragen.
Hier meine Musterdatei
https://www.herber.de/bbs/user/99267.xlsm
Vielen Dank

AW: Über Userform VBA-Code ändern
03.08.2015 12:57:45
Daniel
Hi
mit dem gezeigten Code erstellst du ja erstmal nur den Formeltext in einer Variablen.
du musst natürlich auch den Formeltext dann am Schluss noch in die entsprechende Zelle schreiben!
Range("Q2:Q" & letzteZeile).FormulaLocal = Fo
die WITH-Klammer ist dann auch nicht zwingend notwendig, weil du den zellbereich eh nur 1x verwendest.
Gruß Daniel

Anzeige
AW: Über Userform VBA-Code ändern
03.08.2015 13:16:32
Christian
Danke Daniel.
Jetzt funktioniert es.
Bin dabei noch auf einen anderen Fehler in meinem Projekt gestoßen.
Wenn ich in der UF den erst Button klicke dann funktioniert es nicht.
Vielleicht würdest du das auch nochmal angucken.
Danke

AW: Über Userform VBA-Code ändern
04.08.2015 12:52:58
Daniel
wie soll ich das machen?
ich kann leider weder hellsehen, noch mich auf deinem Rechner einhacken, um mir deine Datei anzuschauen.
Gruß Daniel

AW: Über Userform VBA-Code ändern
04.08.2015 12:57:45
Christian
Oh, da fehlt wohl eine Datei :-)
https://www.herber.de/bbs/user/99319.xlsm
Ich hoffe es klappt jetzt.
Danke nochmal

Anzeige
AW: Über Userform VBA-Code ändern
04.08.2015 18:24:47
Daniel
Hi
ok das ist die Datei?
wo ist jetzt nochmal der Fehler?
was muss ich tun, um diesen Fehler zu bekommen?
Was macht dein Progamm an dieser Stelle und was sollte es deinem Wunsch nach tun?
wie starte ich überhaupt die Userform?
du verweist auf andere Dateien, kann ich den Fehler übernaupt bei mir nachstellen, wenn ich diese Dateien nicht habe?
Versuche einfach deine Fehlerbeschreibung so ausführlich und verständlich zu gestalten, wie du dir meine Antwort wünscht.
Gruß Daniel

AW: Über Userform VBA-Code ändern
04.08.2015 18:24:51
Daniel
Hi
ok das ist die Datei?
wo ist jetzt nochmal der Fehler?
was muss ich tun, um diesen Fehler zu bekommen?
Was macht dein Progamm an dieser Stelle und was sollte es deinem Wunsch nach tun?
wie starte ich überhaupt die Userform?
du verweist auf andere Dateien, kann ich den Fehler übernaupt bei mir nachstellen, wenn ich diese Dateien nicht habe?
Versuche einfach deine Fehlerbeschreibung so ausführlich und verständlich zu gestalten, wie du dir meine Antwort wünscht.
Gruß Daniel

Anzeige
AW: Über Userform VBA-Code ändern
05.08.2015 13:26:26
Christian
HAllo Daniel,
danke für deine Mühe und deine Geduld.
Ich füge die Datei mal an. Alle Erklärungen sind jetzt in der Datei.
Das Importieren habe ich abgeschaltet.
Danke

AW: Über Userform VBA-Code ändern
05.08.2015 23:37:48
Daniel
Hi
so wie ich dich verstanden habe, funktioniert beim ersten Button das einfügen der Leerzeilen und der Summe nicht.
das funktioniert deshalb nicht, weil du ein Hochkomma vor den Befehl gesetzt hast, mit dem du das entsprechende Makro aufrufst.
damit wird dieser Befehl nicht ausgeführt, weil das Hochkomma den folgenden Text als Kommentar kenntzeichnet.
Kommentare kann man daran erkennen, dass sie grün sind.
wenn du an dieser Stelle das Hochkomma wegnimmst, funktioniert auch das Einfügen der Leerzeilen.
das ist die Programmzeile um die es geht:
'Call ZeileEinfügenMaschine ' Dieses Makro funktioniert nicht !!! ***

da muss das Hochkomma am Anfang weg.
sowas sollte einem aber schon auffallen.
Gruss Daniel

Anzeige
AW: Über Userform VBA-Code ändern
06.08.2015 07:40:59
Christian
Hallo Daniel,
das Hochkomma habe ich für dich gesetzt. Dachte das du dann einen besseren Überblick bekommst.
Beim ersten Button klappt es ja mit dem sortieren und filtern. Das Einfügen uns das Zusammenrechnen in Spalte 17 funktioniert nicht richtig. Die Summe der Maschinen beinhaltet auch Werte aus ausgeblendeten Zellen. Das darf natürlich nicht sein.
Beim zweiten Button funktioniert eigentlich alles. Nur beim letzten Block wird keine Summe gebildet.
Es wäre sehr nett, wenn du nochmal gucken würdest.
Danke

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige