Problema al actualizar una hoja de excel..
Tengo una hoja de excel que debe actualizarse cuando entro en la ultima escribo en la ultima columna, pero los datos son entrados a través de un textbox simultáneamente, es por eso que debe actualizarse cuando abro la hoja nuevamente, en mi caso solo cambia cuando cambio la ultima columna manualmente, he anadidido además una sub para actualizar la hoja pero tampoco funciona.
Necesito que ayuda al respecto.
A continuación dejo la hoja, y el código:
Código:
Public fila As String
Private Sub Worksheet_Activate()
On Error Resume Next
fila = 5
Sheets("Fertigungsauftrag").Cells(fila, 3).Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
'On Error Resume Next
pass = "chevo"
Sheets("Fertigungsauftrag").Unprotect pass
'solo se ejecuta si se modifica la columna g
If Target.Column = 7 Then
fila = ActiveCell.Row
Dim uf, ucw, r1, r2 As String
Dim x, ucn As Integer
Sheets("Fertigungsauftrag").Select
'determines last row with data
uf = Sheets("Fertigungsauftrag").Range("c" & Rows.Count).End(xlUp).Row
uc = Sheets("Fertigungsauftrag").Cells("3," & Columns.Count).End(xlToRight).Address(False, False)
ucw = Mid(uc, 2, 1)
ucn = Sheets("Fertigungsauftrag").Cells("5," & Columns.Count).End(xlToRight).Column
x = 1
'will help determine ranges to sort data
k = Sheets("Fertigungsauftrag").Cells(6, 3).Address(False, False) '(3=C;6=6 =C6 ROW)
k1 = Mid(k, 1, 1)
r1 = k & ":" & k1 & uf
r2 = "C5:" & ucw & uf
'sorts the data
ActiveWorkbook.Worksheets("Fertigungsauftrag").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Fertigungsauftrag").Sort.SortFields.Add Key:=Range(r1) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Fertigungsauftrag").Sort
.SetRange Range(r2)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Cells.Select
'Selection.Copy Destination:=Sheets("Hoja2").Range("A1")
'Sheets("hoja2").Select
Sheets("Fertigungsauftrag").Select
End If
Application.ScreenUpdating = False
End Sub
Sub XXX()
ActiveSheet.Unprotect "chevo"
ActiveWorkbook.RefreshAll
ActiveSheet.Protect
End Sub