Clever-Excel-Forum

Normale Version: [geteilt] Kopiermakro
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

in Spalte BD sehe ich keine Imhalte, die man kopieren könnte.
Ja die Namen ändern sich ja auch. Es geht nur um den Inhalt der Zellen in der Spalte.
Hallo,

über wie viele Namen sprechen wir denn da?
60 Namen circa in der Spalte.
Hallo,

mit diesem Makro im Modul des Tabellenblattes geht das: (wenn du das auf allen Blättern brauchst, meldest du dich bitte noch mal).

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim strTxt As String
    If Mid(ActiveCell.Address, 2, 2) = "BD" Then
        strTxt = Cells(Target.Row, Target.Column)
        Worksheets("Tabelle1").Range("A1") = Cells(Target.Row, Target.Column).Value
        Worksheets("Tabelle1").Range("B1") = "ja"
    End If
    If Worksheets("Tabelle1").Range("B1") = "ja" Then
        ActiveCell.Value = Worksheets("Tabelle1").Range("A1")
        Worksheets("Tabelle1").Range("B1") = "nein"
        Worksheets("Tabelle1").Range("A1") = ""
    End If
        If Mid(ActiveCell.Address, 2, 2) = "BD" Then
            Worksheets("Tabelle1").Range("A1") = Cells(Target.Row, Target.Column).Value
            Worksheets("Tabelle1").Range("B1") = "ja"
        End If
End Sub
habe es jetzt so eingefügt

Sub Kopieren()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim strTxt As String
    If Mid(ActiveCell.Address, 2, 2) = "BD" Then
        strTxt = Cells(Target.Row, Target.Column)
        Worksheets("Tabelle1").Range("A1") = Cells(Target.Row, Target.Column).Value
        Worksheets("Tabelle1").Range("B1") = "ja"
    End If
    If Worksheets("Tabelle1").Range("B1") = "ja" Then
        ActiveCell.Value = Worksheets("Tabelle1").Range("A1")
        Worksheets("Tabelle1").Range("B1") = "nein"
        Worksheets("Tabelle1").Range("A1") = ""
    End If
        If Mid(ActiveCell.Address, 2, 2) = "BD" Then
            Worksheets("Tabelle1").Range("A1") = Cells(Target.Row, Target.Column).Value
            Worksheets("Tabelle1").Range("B1") = "ja"
        End If
End Sub


beim ausführen wird jetzt gesagt "End Sub erwartet"
unten anbei die Datei mit mit dem eingefügten Makro
Hallo,

in der beiliegenden Excel-Datei habe ich dir im Codemodul "DieseArbeitsmappe" ein Makro eingefügt, das auf die Zellauswahlsänderung im Arbeitsblatt "komplett" reagiert.
1) Sobald du Zelle(n) der Spalte "BD" auswählst, wird ein Kopiervorgang gestartet
2) Sobald du dann eine weitere Zelle außerhalb der Spalte "BD" anklickst, wird der kopierte Inhalt aus Pkt.1) dorthin kopiert (inklusive Zellformatierung).
3) Falls du keine mitkopierte Zellformatierung haben möchtest, müsstest du einen Alternativbefehl verwenden (beschrieben im Makro-Kommentar).
4) Ich habe dir jede Menge an beschreibenden Kommentar eingefügt, sodass es möglich sein müsste, der Makrofunktionalität zu folgen.
Hallo,

Betreff: die Beschreibung habe ich gefunden aber ist das auch gleich die Funktion da ich unter Makros anzeigen keins finde. könntest du mir deines evtl. noch mal so zu kommen lassen.

wenn das Excel-Arbeitsblatt "komplett" erwartungsgemäß funktioniert, so heißt das, dass auch das Makro vorhanden sein muss.
Da das Makro nicht als "public sub" im Codemodul des Arbeitsblattes, sondern als "private sub" von "DieseArbeitsmappe" gespeichert ist, wird es unter der Makroliste des Buttons "Makros" nicht angezeigt.

1) Du kannst im Arbeitsblatt "komplett" entweder einen Rechtsklick auf den Tabulator "komplett" machen, dort dann den Befehlt "Code anzeigen" auswählen 
oder aber die Tastenkombination Alt+F11 drücken
2) Dadurch gelangst du in den VBA-Editor
3) Falls dort das Fenster mit der Aufschrift "Projekt - VBAProject" nicht zu sehen sein sollte, die Tastenkombination Strg+R drücken
4) Im Projekt-Fenster dann den Eintrag "DieseArbeitsmappe" doppelt anklicken (dieser ist unterhalb von "Microsoft Excel Objekte" enthalten)
5) Dadurch wird dann das Codemodul der Arbeitsmappe ("DieseArbeitsmappe" bzw. "ThisWorkbook") sichtbar und dort findest du auch das Makro, das standardmäßig als "private Suib" deklariert ist und deshalb von "außen" nicht sichtbar ist.
6) Der Kopf der Sub lautet: Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Bekommst du das auch hin wenn ich das in 3 Blättern gerne hätte? Die Blätter würden Flex VL VS heissen.
Seiten: 1 2