Einfügen von Spalten in Tabelle

Bild

Betrifft: Einfügen von Spalten in Tabelle
von: Roland
Geschrieben am: 12.11.2015 15:20:55

Hallo - ich bin neu hier und habe eine Frage.
Ich habe eine Excel-Datei, die mehrere Makros enthält.
Zum Beispiel werden beim Öffnen automatisch Zellbereiche farbig markiert, wenn in Spalte D, E und F gewisse Bedingungen erfüllt sind. Für das Jahr 2016 soll diese Datei wieder verwendet werden, allerdings muss ich zwischen A und B eine Spalte einfügen.
Das ist jedoch nicht das einzige Makro, welches ich verwende - es gibt noch ein paar mehr. Und bevor ich mir die Arbeit mache, Makro für Makro durchzugehen und die Spalten manuell anzupassen, wollte ich hier nachfragen:
Kann ich irgendwie alle Makros "automatisch" anpassen? Dass also überall dort wo jetzt Spalte F steht, die Spalte G wird?
Danke für eure Hilfe.

Bild

Betrifft: machbar aber schwierig ...
von: Tino
Geschrieben am: 12.11.2015 15:52:04
Hallo,
geht schon, aber dies ist sehr schwammig und fehleranfällig!
1. der Zugriff auf VBA-Projekte muss zugelassen werden!
2. für Spalte D, E, F gibt es unterschiedliche Schreibweisen (Range, Columns ...)
3. nicht immer wird eine Spalte fest im Code hinterlegt, oft wird diese durch Variablen ermittelt
oder mit offset usw... gearbeitet.
Hier mal ein Beispiel:
Kommt in ein separates Modul, Name des Moduls im Code anpassen! (hier Modul_Code)

Option Explicit
Option Compare Text
Sub Beispiel()
Dim n&, sCode$
With ThisWorkbook.VBProject
    For n = 1 To .VBComponents.Count
        With .VBComponents(n)
            If .Name <> "Modul_Code" Then
                With .CodeModule
                    sCode = .Lines(1, .CountOfLines)
                    
                    'umschreiben -> groß nach klein
                    sCode = Replace(sCode, "F:F", "H:H")
                    sCode = Replace(sCode, "E:E", "G:G")
                    sCode = Replace(sCode, "D:D", "F:F")
                    
                    
                    .DeleteLines 1, .CountOfLines
                    .AddFromString sCode
                    
                End With
            End If
        End With
    Next n
End With
End Sub
Gruß Tino

Bild

Betrifft: Du solltest dir angewöhnen, Makros von ...
von: Luc:-?
Geschrieben am: 12.11.2015 17:41:40
…vornherein „pflegeleicht“ zu pgmmieren, Roland,
bspw in dem du BereichsAdressen auf Text-Konstanten (Const adRelBer$ = "…") oder noch besser auf definierte Namen der Datei legst. Letzteres hat den Vorteil, dass sich deren Bezüge automatisch anpassen, wenn bspw Spalten eingefügt wdn.
Unter diesem Gesichtspkt ist es sicher angebracht, wenn du alle deine Makros durchgehst. Dann hast du beim nächsten Mal, das bestimmt irgendwann kommt, keine Arbeit damit.
Gruß, Luc :-?

Besser informiert mit …

Bild

Betrifft: AW: Einfügen von Spalten in Tabelle
von: Roland
Geschrieben am: 16.11.2015 09:30:29
Vielen Dank für die Hinweise - habe leider noch das Level "VBA bescheiden" :-)

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Einfügen von Spalten in Tabelle"