Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dokumente bearbeiten - VBA

Dokumente bearbeiten - VBA
24.08.2006 09:03:02
ticonhh
Guten Morgen,
habe eine Prozedur von meinem Vorgänger, die nacheinander innerhalb einer Ordnerstruktur Excel - Dateien findet, Ihre Anzahl der Mappen innerhalb der Datei ausliest und in dieser jeweils eine Grafik hineinkopiert (Range A1). Doch kommt es manchmal zu unerklärlichen Fehlern, wie z.B.:
- Fehlermeldung 1004
- wie kann die Aktualisierungsabfrage von Excel unterdrückt werden ? ( bei Verlinkungen )
- obwohl die Farbe rot für die Grafik gewählt wurde, wird teilweise die Grafik auf eine andere gesetzt
Muss dazu sagen, dass oft "select" benutzt wurde, habe bereits gelesen, dass dat nicht so gut ist. Gibt es eine Alternative, vielleicht mit with object ?
Dank und Gruss
ticonhh

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dokumente bearbeiten - VBA
24.08.2006 09:28:05
c0bRa
hio...
ohne auch nur nen ansatz von deinem Code wann wo welcher Fehler auftritt, wird man dir auch nicht speziell helfen können...
select ... Selection konstrukte können zusammengekürzt werden.
also aus Range("A1").Select ... Selection.Copy kannst auch Range("A1").Copy machen
Rückmeldung nicht vergessen...
c0bRa
I hacked 127.0.0.1
AW: Dokumente bearbeiten - VBA
24.08.2006 09:44:27
ticonhh
Hallo Cobra,
erstmal vielen Dank für Deine Antwort. Unten ein Teil des Codes, wo der Fehler
entsteht, und zwar springt dieser in der Zeile "Sheets(s).Select" raus.
Vielen Dank für Deine Hilfe im Voraus.
Gruss
ticonhh
If ActiveWorkbook.ReadOnly Then
ActiveWorkbook.Close
Else
For s = 1 To Sheets.Count
Workbooks(Filename).Activate
If Worksheets(s).ProtectContents = False Then
Sheets(s).Select
ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, _
30, 30, 300, 300).Select
Selection.ShapeRange(1).TextFrame.AutoSize = msoTrue
Selection.Characters.Text = "xxx" & Chr(10) & "xx" & lDate
With Selection.Characters(Start:=1).Font
.Name = "Arial"
.FontStyle = "bold"
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 3
End With
Selection.Font.ColorIndex = 3
Selection.ShapeRange.Line.ForeColor.SchemeColor = 10
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.Weight = 1.5
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.Style = msoLineSingle
Range("A1").Select
Else
Anzeige
AW: Dokumente bearbeiten - VBA
24.08.2006 10:08:32
c0bRa
hio...
auf das ganze Select Gedöns kannst eigentlich verzichten, wenn du ordentlich referenzierst.
Ungetestet:
Modul1:
Option Explicit
Private Sub test()
    '...
    If ActiveWorkbook.ReadOnly Then
        ActiveWorkbook.Close
    Else
    For s = 1 To Sheets.Count
        Workbooks(Filename).Activate
        If Worksheets(s).ProtectContents = False Then
            With Sheets(s).Shapes.AddLabel(msoTextOrientationHorizontal, 30, 30, 300, 300)
                .ShapeRange(1).TextFrame.AutoSize = msoTrue
                .Characters.Text = "xxx" & Chr(10) & "xx" & lDate
            End With
            With Sheets(s).Shapes.AddLabel(msoTextOrientationHorizontal, 30, 30, 300, 300).Characters(Start:=1).Font
                .Name = "Arial"
                .FontStyle = "bold"
                .Size = 12
                .Strikethrough = False
                .Superscript = False
                .Subscript = False
                .OutlineFont = False
                .Shadow = False
                .Underline = xlUnderlineStyleNone
                .ColorIndex = 3
            End With
            With Sheets(s).Shapes.AddLabel(msoTextOrientationHorizontal, 30, 30, 300, 300).ShapeRange.Line
                .ForeColor.SchemeColor = 10
                .Visible = msoTrue
                .Weight = 1.5
                .Visible = msoTrue
                .Style = msoLineSingle
            End With
        Else
            '...
        End If
    Next
End Sub

Rückmeldung nicht vergessen...
c0bRa
I hacked 127.0.0.1
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige