copy bei XL97 und XL2000
20.03.2006 19:20:44
Reinhard
zur Beantwortung der Anfrage https://www.herber.de/forum/messages/745091.html
habe ich nachstehendes Makro geschrieben was auch problemlos unter Excel2000 läuft.
Nun soll es bei Excel97 laufen, da bröckelt es bei:
wsV.Range("B2").Copy Destination:=.Cells(zei + 1, spa)
und zwar weil in wsV.[B2] verbundene Zellen sind, anscheinend ist das Excel2000 egal und Excel97 nicht!?
Ist das so? Also diese Fehlermeldung ist korrekt, oder kann ich den Code ändern damit er auch in Excel97 läuft? Wenn ja, wie.
(mit ändern meine ich jetzt nicht die verbundenen Zellen auflösen, kopieren, dann wieder verbinden)
Danke und Gruß
Reinhard
Option Explicit
Sub Copy()
Dim Anzahl As Integer, n As Integer, wsV As Worksheet, wsD As Worksheet
Dim Spalten As Byte, zei As Long, spa As Byte, nn As Byte
Application.ScreenUpdating = False
On Error GoTo ende:
Set wsD = Worksheets("Druck")
Set wsV = Worksheets("Vorlage")
With wsD
Anzahl = wsV.Range("F2") 'Anzahl vom Tabellenblatt "Vorlage" holen
Spalten = wsV.Range("G2") 'Anzahl Spalten nach rechts festlegen für die For-Schleife
.UsedRange.Clear
For n = 1 To Anzahl
zei = Int((n - 1) / Spalten) * 3
spa = n - Int((n - 1) / Spalten) * Spalten
wsV.Range("B2").Copy Destination:=.Cells(zei + 1, spa)
wsV.Range("B3").Copy Destination:=.Cells(zei + 2, spa)
With .Cells(zei + 3, spa)
.Value = Right("000" & n, 3) & " - F01"
.HorizontalAlignment = xlCenter
.Font.Bold = True
End With
With Range(.Cells(zei + 1, spa), .Cells(zei + 3, spa))
For nn = 7 To 10
With .Borders(nn)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Next nn
End With
Next n
End With
ende:
Application.ScreenUpdating = True
End Sub