Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
840to844
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
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ergebnis d. Makros unterschiedlich bei Zellauswahl

Ergebnis d. Makros unterschiedlich bei Zellauswahl
05.02.2007 22:45:27
Marc
Hallo zusammen,
ich habe ein kleines Problem, das mich inzwischen zur Verzweiflung bringt.
ich habe in einer Datei ein Makro geschrieben, das in einem bestimmten Bereich Zeilen einfügt und sie formatiert. Allerdings reagiert das Makro sehr seltsam. Wenn ich in dem Bereich, zu dem Zeilen hinzugefügt werden sollen, eine beliebige Zelle per Mausklick auswähle, funktioniert es so, wie ich es möchte. Wähle ich die gleiche Zelle per Cursor Tasten, dann kommt die komplette Formatierung durcheinander und es entsteht ein Chaos innerhalb der Formatierung. Meine Frage ist nun, wie kommt das? Macht es für Excel einen Unterschied, wie bzw. womit man eine Zelle auswählt? Ich weiß in dieser Hinsicht nicht mehr weiter.
Für hilfreiche Hinweise wäre ich ausgesprochen dankbar!!!
Grüße,
Marc Richter

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ergebnis d. Makros unterschiedlich bei Zellauswahl
05.02.2007 22:49:11
Josef
Hallo Marc,
da meine Glaskugel heute etwas trüb ist, wäre es nicht schlecht, wenn du deinen Code zeigen würdest.
Gruß Sepp

AW: Ergebnis d. Makros unterschiedlich bei Zellaus
05.02.2007 22:59:05
Marc
Hallo Sepp,
vielen Dank schonmal für die schnelle Antwort. Ich hoffe, der Code sagt Dir etwas. Ich habe sehr viele Sendkeys verwendet. Aber ich habe VBA ja auch nur auf mäßig stehen. Wenn Du mir dazu ebenfalls Verbesserungen sagen kannst, würde ich mich ebenfalls sehr freuen!
Dazu muß ich noch sagen, dass sich der Bereich, von dem ich spreche zwischen den Zellen B40 und K45 befindet. Innerhalb dieses Bereiches befinden sich auch einige verbundene Zellen. Die Formatierung muß leider so sein. Durch das Makro wird der Bereich Zeilenweise erweitert, bis er B40 bis K51 ausfüllt. Die erste und die letzte Zeile des Bereichs habe ich in der Spalte A mit je einer 1 markiert, wodurch ich den Bereich Zeilenmäßig begrenze. Ich hoffe, das hilft bei der Analyse.
Grüße,
Marc Richter

Sub Makro1()
Call Makro6
Range("A1").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
ActiveCell.Select
Selection.Rows.EntireRow.Select
Selection.Insert Shift:=xlDown
SendKeys "{LEFT}", True
SendKeys "{RIGHT}", True
SendKeys "+{RIGHT}", True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
.Locked = False
End With
SendKeys "{RIGHT}", True
SendKeys "{RIGHT}", True
SendKeys "{RIGHT}", True
SendKeys "{RIGHT}", True
SendKeys "{RIGHT}", True
SendKeys "+{RIGHT}", True
SendKeys "+{RIGHT}", True
SendKeys "+{RIGHT}", True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
.Locked = False
End With
SendKeys "{DOWN}", True
SendKeys "{HOME}", True
SendKeys "{RIGHT}", True
SendKeys "+{RIGHT}", True
SendKeys "+{RIGHT}", True
SendKeys "+{RIGHT}", True
SendKeys "+{RIGHT}", True
SendKeys "+{RIGHT}", True
Selection.Copy
SendKeys "{HOME}", True
SendKeys "{UP}", True
SendKeys "{RIGHT}", True
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
SendKeys "{HOME}", True
SendKeys "{DOWN}", True
SendKeys "{RIGHT}", True
SendKeys "+{RIGHT}", True
SendKeys "+{RIGHT}", True
SendKeys "+{RIGHT}", True
SendKeys "+{RIGHT}", True
SendKeys "+{RIGHT}", True
Selection.ClearContents
Range("A1").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
SendKeys "{UP}", True
Selection.Rows.EntireRow.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
SendKeys "{RIGHT}", True
End Sub

Anzeige
AW: Ergebnis d. Makros unterschiedlich bei Zellaus
05.02.2007 23:05:39
Josef
Hallo Marc,
sorry, aber ich hab' echt keine Lust diesen Code aufzudröseln.
Wenn du willst, dann lade eine Beispieltabelle hoch und beschreibe was du erreichen willst, dann kann ich dir helfen.
Gruß Sepp

AW: Ergebnis d. Makros unterschiedlich bei Zellaus
05.02.2007 23:20:03
Marc
Hallo Sepp,
ich kann leider nicht die vollständige Datei hoch laden, da es sich um etwas dienstliches handelt. Daher habe ich die Datei ziemlich abgespeckt. Ich hoffe, Du kannst trotzdem noch etwas damit anfangen.
https://www.herber.de/bbs/user/40157.xls
Grüße,
Marc
Anzeige
AW: Ergebnis d. Makros unterschiedlich bei Zellaus
05.02.2007 23:48:18
Josef
Hallo Marc,
Deine Beschreibung war wirklich sehr ausführlich;-))
Ich weiß ja nicht was deine anderen Makros verbrechen, aber das Einfügen geht z.B. so.
Sub Makro1()
    Dim lngRow As Long
    
    lngRow = 45
    
    Do
        If Cells(lngRow + 1, 2).HasFormula Then Exit Do
        lngRow = lngRow + 1
        If lngRow > Cells(Rows.Count, 2).End(xlUp).Row Then Exit Sub
    Loop
    
    If lngRow > 50 Then Exit Sub
    
    With Range(Cells(lngRow, 2), Cells(lngRow, 11))
        .Copy
        .Insert Shift:=xlDown
    End With
    
    Application.CutCopyMode = False
    
    With Range(Cells(lngRow + 1, 2), Cells(lngRow + 1, 11))
        .RowHeight = 21
        With .Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlHairline
        End With
        With .Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlThin
        End With
    End With
    
End Sub

Gruß Sepp
Anzeige
AW: Ergebnis d. Makros unterschiedlich bei Zellaus
05.02.2007 23:56:44
Marc
Hallo Sepp,
vielen Dank für Deine Hilfe und Deine Diskretion...
Gruß,
Marc
AW: Ergebnis d. Makros unterschiedlich bei Zellaus
06.02.2007 00:09:19
Marc
Hallo Sepp,
ich kann leider nicht die vollständige Datei hoch laden, da es sich um etwas dienstliches handelt. Daher habe ich die Datei ziemlich abgespeckt. Ich hoffe, Du kannst trotzdem noch etwas damit anfangen.
https://www.herber.de/bbs/user/40157.xls
Grüße,
Marc

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige