If xAddress = Range("List1!AA1") Thencitovat
Zaslal/a
10.9.2018 15:37Ahoj všichni,
prosím o radu. Snažím se vymyslet makro na změnu velikosti objektů na základě hodnot v buňkách. Dal jsem do kupy níže uvedené makro, které částečně funguje - mění velikosti objektů (Ovál 42 až 43) na základě vložení hodnot do buněk AA1 až AG1. Problém ale je, že se makro spustí pouze v případě manuálního vložení hodnoty do některé z výše uvedených buněk. Jenže buňky AA1 až AG1 jsou počítány vzorci a já potřebuji, aby se makro spouštělo na základě změny hodnoty v buňce A1 nebo A2, kam se zadává časové rozpětí. Žádné jiné buňky se manuálně měnit nebudou. Můžete prosím poradit?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xAddress As String
On Error Resume Next
If Target.CountLarge = 1 Then
xAddress = Target.Address(0, 0)
If xAddress = "AA1" Then
Call SizeCircle("Ovál 42", Val(Target.Value))
ElseIf xAddress = "AB1" Then
Call SizeCircle("Ovál 43", Val(Target.Value))
ElseIf xAddress = "AC1" Then
Call SizeCircle("Ovál 44", Val(Target.Value))
ElseIf xAddress = "AD1" Then
Call SizeCircle("Ovál 45", Val(Target.Value))
ElseIf xAddress = "AE1" Then
Call SizeCircle("Ovál 46", Val(Target.Value))
ElseIf xAddress = "AF1" Then
Call SizeCircle("Ovál 47", Val(Target.Value))
ElseIf xAddress = "AG1" Then
Call SizeCircle("Ovál 48", Val(Target.Value))
End If
End If
End Sub
Sub SizeCircle(Name As String, Diameter)
Dim xCenterX As Single
Dim xCenterY As Single
Dim xCircle As Shape
Dim xDiameter As Single
On Error GoTo ExitSub
xDiameter = Diameter
If xDiameter > 100 Then xDiameter = 10
If xDiameter < 1 Then xDiameter = 1
Set xCircle = ActiveSheet.Shapes(Name)
With xCircle
xCenterX = .Left + (.Width / 2)
xCenterY = .Top + (.Height / 2)
.Width = xDiameter
.Height = xDiameter
.Left = xCenterX - (.Width / 2)
.Top = xCenterY - (.Height / 2)
End With
ExitSub:
End Sub
Dále mě zajímá, jak v makru odkazovat na buňku v jiném listu. Následující kód nefunguje:
If xAddress = "List1!AA1" Then
Moc prosím o radu.
Děkuji
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.