Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Brauche Tipps für einen individuellen VBA-Code





Frage

Hallo Forumsbesucher, bräuchte einige Tipps, um ein individuelles Makro zu erstellen. Folgendes Problem: Will nur ein Makro schreiben (zum Im/Exportieren) das soll dann zb. in Tabellenblatt 2 (DieseArbeitsmappe) ein Makro einfügen, der Text steht im Makro selbst oder in einem Tabellenblatt. Lässt sich das irgendwie verwirklichen? Gruß Simon ps. XL03, habe VBA-Vorwissen

Antwort 1 von Beverly

Hi,

vielleicht hilft dir dieser Code weiter, mit dem ein neues Tabellenblatt erstellt und Code zum Begrenzen des Scrollbereichs eingefügt wird

Sub Code_erstellen()
    Dim inZeile As Integer
    Application.DisplayAlerts = False
    Sheets.Add
    ActiveSheet.Move After:=Sheets(Sheets.Count)
    With ThisWorkbook.VBProject.vbComponents(ActiveSheet.Name).CodeModule
        If .CountOfLines = 0 Then
            .InsertLines 1, "Option Explicit"
            .InsertLines 3, "Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)"
            .InsertLines 4, "    ActiveSheet.ScrollArea = ""A1:K30"""
            .InsertLines 5, "End Sub"
        Else
            .InsertLines inZeile + 3, "Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)"
            .InsertLines inZeile + 4, "    ActiveSheet.ScrollArea = ""A1:K30"""
            .InsertLines inZeile + 5, "End Sub"
        End If
    End With
    Application.DisplayAlerts = True
End Sub


Bis später,
Karin

Antwort 2 von varginator

Hallo Karin,

danke für deine Antwort, würde gern schreiben "Funktioniert super", aber es funktioniert leider nicht super. Er bringt mir immer einen Fehler bei:
With ThisWorkbook.VBProject.vbComponents(ActiveSheet.Name).CodeModule

hab ihn schon überall reingesetzt Tabellenblatt, Modul, DieseArbeitsmappe, aber immer bekomm ich einen Fehler:
Der programmatische Zugriff auf das Visual-Basic Projekt ist nicht sicher oder Anwendungs- oder Objektdefinierter Fehler.
Vielleicht mache ich auch irgendwas falsch?

Gruß Simon

Antwort 3 von Beverly

Hi Simon,

der Code gehört in ein allgemeines Modul.
Schau mal im VBA-Editor unter Extras -> Verweise. Bei mir sind folgende Verweise gesetzt:

- Visual Basic For Applicaitons
- Microsoft Excel 12.0 Object Library <== Nr. ist abhängig von der Excel-Version
- OLE Automation
- Microsoft Office 12.0 Object Library

Ich habe den Code in Excel97 bis einschließlich Excel2007 getestet - er funktioniert fehlerlos.

Bis später,
Karin

Antwort 4 von varginator

Danke für die erneute Antwort,

doch leider funktioniert es immer noch nicht, hab es in ein Modul geschrieben (kopiert) und die Einstellungen der Verweise habe ich auch alle. Muss ich irgendetwas bei der Anzahl der Blätter beachten? Oder muss ich sonst irgendetwas anderes noch zusätzlich einstellen?

Gruß Simon

Antwort 5 von Beverly

Hi Simon,

die Anzahl der Tabellenblätter spielt keine Rolle. Wird immer noch derselbe Fehler angezeigt? Hast du das Makro über Extras -> Makro -> Makros aufgerufen oder im VBA-Editor ablaufen lassen? Der Code darf nicht im VBA-Editor gestartet werden.

Bis später,
Karin

Antwort 6 von varginator

Hallo Karin,

ja ich habe das Makro im Editor aufgerufen, nur wenn ich es über Extras -> Makro aufrufe, dann kommt der gleiche Fehler (s. oben: der programm.....)

Gruß Simon

Antwort 7 von Beverly

Hi Simon,

ich kenne leider deine Arbeitsmappe und deine Bedingungen nicht, deshalb lade ich mal eine Beispielmappe hoch, vielleicht kannst du es daran nachvollziehen

Link zur Datei

Die Datei verbleibt 100 Tage auf dem Webspace.

Bis später,
Karin

Antwort 8 von varginator

Hallo Karin,

danke für die Datei. Funktioniert aber leider auch nicht.
In meiner Mappe steht nichts außer dein Code im Modul (zu testzwecken) und nichts anderes mehr.

Hoffe du kannst mir nochmal helfen

Gruß Simon

Antwort 9 von Beverly

Hi Simon,

die letzte Möglichkeit - ist das VBA-Projekt geschützt?

Bis später,
Karin

Antwort 10 von varginator

Hallo Karin,

nein es ist nicht geschützt, habe eine neue Excel-Datei aufgemacht, dann deinen Code in ein Modul kopiert und dann getestet.

Gruß Simon

Antwort 11 von Beverly

Hi Simon,

dann bleibt die allerletzte Möglichkeit, dass mit deinem Excel etwas nicht in Ordnung ist. Kannst du es auf einem anderen Rechner testen? Eigenartig ist ja nun doch, dass der Code nur bei dir nicht funktioniert.

Bis später,
Karin

Antwort 12 von varginator

Hallo Karin,

danke für deine Mühe und Hilfe, ich kann es erst später an einem anderen PC testen, schreibe aber dann ob es funktioniert hat.

Gruß Simon

Antwort 13 von lorf55

Hallo Simon,
also bei mir funktioniert der Code von Karin auch. Ich kann für jedes zugefügte Blatt im Projektexplorer das Makro anzeigen lassen.
Wie hast du denn getestet?

Gruß
lorf

Antwort 14 von varginator

Hallo lorf,

ich habe es im VB-Editor selbst aber auch unter Extras -> Makro getestet.

Gruß Simon

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: