Ich habe Frage, wie Sie ändern, was ein Benutzerformular anzeigt. Grundsätzlich habe ich ein Makro, wo ein Benutzerformular den Benutzer die Auswahl der Zellen für den Prozess verwenden lassen. Wenn ich das Makro in einem anderen Arbeitsblatt verwende, ist der vorher verwendete Bereich immer noch vorhanden. Wenn zum Beispiel im Blatt1 "A20: A30" ausgewählt wurde und ich dann das gleiche Makro in Blatt2 verwende, haben die Bereichswerte immer noch die Werte von "A20: A30" von Blatt 1 ausgewählt. Ich weiß, dass es ziemlich einfach ist, den Bereich auszuwählen Ich möchte, aber die Person, die ich helfe, möchte, dass der Bereich bei jedem Ausführen des Makros leer ist, damit er nicht erneut zum aktiven Blatt wechseln muss, um den Bereich auszuwählen.So ändern Sie die Werte, die eine UserForm in VBA Excel zeigt
Hier ist ein Beispiel mit Bildern. In der Tabelle "CurvasTC" (Die Schaltfläche "Interpola" zeigt nur das Benutzerformular an) Ich wähle einen Bereich und führe den Prozess durch Klicken auf die Schaltfläche "Ejecutar" aus. Dann, wenn ich auf das Blatt "Volatilidad" gehen und den Prozess ausführen, erscheint das Benutzerformular mit den Referenzen des Blattes TC Ich möchte, dass es leere Werte oder zumindest einen Verweis auf das aktive Blatt zeigt.
Dies ist der Code für das Benutzerformular:
Public Sub CommandButton1_Click()
Dim rangoa As Range
Dim rangob As Range
Dim rangoc As Range
Set rangoa = Range(rangox.Value)
Set rangob = Range(rangoy.Value)
Set rangoc = Range(rangoxout.Value)
ventana.Hide
Run (I_Lineal(rangoa, rangob, rangoc))
End Sub
Private Sub Label1_Click()
End Sub
Private Sub Label3_Click()
End Sub
Private Sub rangox_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)
End Sub
Private Sub rangoxout_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)
End Sub
Private Sub UserForm_Click()
End Sub
Der Code für die Interpola Taste ist wirklich einfach nur:
Sub corrermacro()
ventana.Show
End Sub
Die Benutzerformular, wo Sie den Bereich auswählen, heißt " ventana ".
Bitte teilen Sie den Code für 'Interpola' Tasten. – omegastripes
@omegastripes Der Code für Interpola-Schaltfläche ist nur ventana.show – Anflores
@omegastripes das Benutzerformular in den Bildern heißt "ventana" – Anflores