gacanepa

form principal - Excel con VBA

Dec 7th, 2012
481
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Private Sub btnGo_Click()
  2.     Worksheets(Me.ComboBox1.Text).Range(Me.txtCell.Text).Value = Me.txtText.Text
  3.     'La línea anterior se utiliza para seleccionar una celda en particular,
  4.    'donde no necesariamente la hoja respectiva está activa, de ahí la necesidad
  5.    'de utilizar el método Worksheets pasándole como argumento el texto actual
  6.    'del ComboBox1.
  7.    'A Range le paso como argumento la celda (que se ingresa en el textbox txtCell)
  8.    Worksheets(Me.ComboBox1.Text).Activate
  9.     'Se activa la hoja
  10.    Worksheets(Me.ComboBox1.Text).Range(Me.txtCell.Text).Columns.AutoFit
  11.     'Redimensiono la columna donde acabo de escribir, si es necesario
  12.    Worksheets(Me.ComboBox1.Text).Range(Me.txtCell.Text).Select
  13.     'Y selecciono la celda ingresada
  14. End Sub
  15.  
  16. Private Sub ComboBox1_Change()
  17.     MsgBox "You have selected: " + Me.ComboBox1.Text, vbOKOnly, "This is a message:"
  18.     'Muestro un MessageBox indicando cuál es la hoja que se acaba de seleccionar. El primer argumento
  19.    'que le paso es el texto que quiero que muestre, el segundo el tipo de botón que quiero que tenga
  20.    'y finalmente el título del mismo. Los argumentos se separan con comas.
  21. End Sub
  22.  
  23. Private Sub UserForm_Initialize()
  24.     MsgBox "The form " + Me.Name + " has been initialized!", vbOKOnly, "Message"
  25.     'Accedo al nombre del formulario mediante la propiedad Name del control actual
  26.    '(al cual, a su vez, hago referencia mediante la palabra reservada Me.
  27.    
  28.     '############## Este loop me sirvió para probar en el proceso de carga de ítems al combobox
  29.    'Dim i As Integer
  30.    'Dim myArray As Variant
  31.    'myArray = Array("John Doe", "Mengano", "Suntano")
  32.    'For i = LBound(myArray) To UBound(myArray)
  33.        'Me.ComboBox1.AddItem myArray(i)
  34.    'Next
  35.    '##############
  36.    
  37.     Dim sheet As Worksheet 'Hay que declarar a sheet como variable del tipo Worksheet
  38.    For Each sheet In Sheets
  39.         Me.ComboBox1.AddItem sheet.Name 'Agrego los nombres de las hojas al Combobox
  40.                                        'mediante un bucle For Each (en vez de hardcodearlo)
  41.                                        'por si el usuario final llega a cambiarlos.
  42.    Next
  43. End Sub
RAW Paste Data