Witam,
Podaję makro:
Sub Logoeps()
' Logoeps Makro
' Option Explicit
Dim x As Double
Dim y As Double
Dim obraz As String
Dim kom As Range
Dim fd As Object
Set fd = Application.FileDialog(msoFileDialogOpen)
With fd
.InitialFileName = ActiveWorkbook.path & "\" & Range("M68")
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Picture Files", "*.png; *.jpg; *.gif; *.bmp"
.Title = "Which file"
If .Show Then
obraz = .SelectedItems(1)
Set kom = Range("C2:D6")
x = kom.Columns.Width
y = kom.Rows.Height
With ActiveSheet.Pictures.Insert(obraz)
With .ShapeRange
.LockAspectRatio = msoFalse
.Left = kom.Left
.Top = kom.Top
.Width = x
.Height = y
.ZOrder msoSendToBack
End With
.Placement = xlMoveAndSize
.PrintObject = True
End With
Set kom = Nothing
Else
Exit Sub
End If
End With
Set fd = Nothing
End Sub
Makro działa tak jak powinno ale chciałbym zmienić kilka rzeczy:
1. Przy uruchomieniu tego makra wyskakuje okno z wbitą już nazwą pliku. Wystarczy wcisnąć otwórz. Chciałbym, żeby automatycznie to się robiło bez klikania otwórz. Po prostu niech wklei obrazek po uruchomieniu makra.
2. Chciałbym, żeby makro się odświeżało, jeżeli zmieni się wartość w komórce M68. Tzn. jeżeli zmieni się wartość wspomnianej komórki to makro powinno wykasować dotychczasową wartość(obrazek) i wykonać się ponownie. Zakładam, że w grę wchodzi odświeżanie makra np. co 5 sek ze sprawdzaniem czy zmieniła się wartość w komórce. Może dałoby się zrobić to na zasadzie call nazwa tego samego makra a po tym zamknij makro.
Jeżeli jesteście w stanie pomóc mi z którymkolwiek z powyższych problemów to proszę o odpowiedź.
Z góry dziękuję
Podaję makro:
Sub Logoeps()
' Logoeps Makro
' Option Explicit
Dim x As Double
Dim y As Double
Dim obraz As String
Dim kom As Range
Dim fd As Object
Set fd = Application.FileDialog(msoFileDialogOpen)
With fd
.InitialFileName = ActiveWorkbook.path & "\" & Range("M68")
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Picture Files", "*.png; *.jpg; *.gif; *.bmp"
.Title = "Which file"
If .Show Then
obraz = .SelectedItems(1)
Set kom = Range("C2:D6")
x = kom.Columns.Width
y = kom.Rows.Height
With ActiveSheet.Pictures.Insert(obraz)
With .ShapeRange
.LockAspectRatio = msoFalse
.Left = kom.Left
.Top = kom.Top
.Width = x
.Height = y
.ZOrder msoSendToBack
End With
.Placement = xlMoveAndSize
.PrintObject = True
End With
Set kom = Nothing
Else
Exit Sub
End If
End With
Set fd = Nothing
End Sub
Makro działa tak jak powinno ale chciałbym zmienić kilka rzeczy:
1. Przy uruchomieniu tego makra wyskakuje okno z wbitą już nazwą pliku. Wystarczy wcisnąć otwórz. Chciałbym, żeby automatycznie to się robiło bez klikania otwórz. Po prostu niech wklei obrazek po uruchomieniu makra.
2. Chciałbym, żeby makro się odświeżało, jeżeli zmieni się wartość w komórce M68. Tzn. jeżeli zmieni się wartość wspomnianej komórki to makro powinno wykasować dotychczasową wartość(obrazek) i wykonać się ponownie. Zakładam, że w grę wchodzi odświeżanie makra np. co 5 sek ze sprawdzaniem czy zmieniła się wartość w komórce. Może dałoby się zrobić to na zasadzie call nazwa tego samego makra a po tym zamknij makro.
Jeżeli jesteście w stanie pomóc mi z którymkolwiek z powyższych problemów to proszę o odpowiedź.
Z góry dziękuję