.Shapes(1).Width = .Range("IV1").Left = 76,5?
11.05.2005 16:49:03
Reinhard
mit diesem Code setze ich die Maus innerhalb des Tabellenblatts ausser Betrieb:
Sub MausinTabelleDeaktivieren()
With ActiveSheet
ActiveSheet.Unprotect Password:="xyz"
.Range("iv65536").CopyPicture Appearance:=xlScreen, Format:=xlPicture
.Pictures.Paste.Select
.Shapes(1).Top = 0
.Shapes(1).Left = 0
'.Shapes(1).Width = .range("IV1").Left + .Range("iv1").ColumnWidth
.Shapes(1).Width = .Range("IV1").Left
.Shapes(1).Height = .Rows(.UsedRange.Row + 1).Top
MsgBox .Shapes(1).Width
End With
ActiveSheet.Protect Password:="xyz", DrawingObjects:=True, Contents:=False, Scenarios:=False
End Sub
In der MsgBox wird aber für width nur 76,5 angezeigt, bzw auch in der Tabelle sicbar so, warum das denn? Seit ner dreiviertel Sunde hänge ich an dem width rum :-(((
Ich hab dann getestet und das Ergebnis dieses Codes entsprach meiner Logik
Sub hä()
MsgBox Range("IV1").Left
ActiveSheet.Shapes(1).Width = 10000
MsgBox ActiveSheet.Shapes(1).Width
End Sub
Range("IV1").Left ist 15300
und man kann width grosse Werte zuweisen, hier 10000 (okay daraus wird dann 9999 oder so, what shells.)
Ich weiss echt nicht mehr weiter:-(
Danke
Gruß
Reinhard
Ps: wie setze ich denn width auf die gesamte Breite der Tabelle,in meiner Lösung fehlt ja Spalte 256.
.Shapes(1).Width = .range("IV1").Left + .Range("iv1").ColumnWidth ist falsch weil columnwith ja anzahl Buchstaben sind undkeine Punkte.