Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1500to1504
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
Inhaltsverzeichnis

Makro in anderem Tabellenreiter ausführen

Makro in anderem Tabellenreiter ausführen
22.06.2016 14:56:51
Tamara

Hallo zusammen,
ich habe in Tabelle1 ein Makro eingestellt, dass die Inhalte aus mehreren Spalten in einer, der ersten, Spalte untereinander kopiert. Mit einem CommandButton in Tabelle1 kann ich das Makro problemlos ausführen.
Hier einmal das Makro:


Private Sub CommandButton1_Click()
Call Spalten_untereinander
End Sub

Sub Spalten_untereinander()
Dim QZeile As Long 'Zeile Quelle
Dim QSpalte As Long 'Spalte Quelle
Dim ZZeile As Long 'Zeile Ziel
ZZeile = 9 'Startzeile in der Zielspalte
For QSpalte = 2 To 32 'Spalte D bis H
For QZeile = 9 To 300
Cells(ZZeile, 1) = Cells(QZeile, QSpalte) 'die 9 ist Spalte I
ZZeile = ZZeile + 1
Next
Next
End Sub
Nun möchte ich jedoch dass das Makro von Tabelle2 aus gesteuert wird und nur im Hintergrund in Tabelle1 durchgeführt wird.
Daher habe ich in Tabelle2 einen CommandButton wie folgt eingestellt:

Private Sub cmd_aktualisieren_HF_Click()
Sheets("Backup_Handlungsfelder_Bezug").Select
Application.Run "Spalten_untereinander"
Sheets("Handlungsfelder").Select
Call Duplikate_entfernen
End Sub

Allerdings kommt bei der Ausführung folgende Fehlermeldung:
Laufzeitfehler '1004': Das Makro 'Spalten_untereinander" kann nicht ausgeführt werden. Das Makro ist möglicherweise in dieser Arbetismappe nicht verfügbar, oder alle Makros wurden deaktiviert.
Vielen Dank im Voraus und viele Grüße

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro in anderem Tabellenreiter ausführen
22.06.2016 15:05:38
UweD
Hallo
verschiebe das Makro in ein Modul und ändere es so ab, dass es sich immer auf das aktive Blatt bezieht. (ActiveSheet.)
Sub Spalten_untereinander()
Dim QZeile As Long 'Zeile Quelle
Dim QSpalte As Long 'Spalte Quelle
Dim ZZeile As Long 'Zeile Ziel
ZZeile = 9 'Startzeile in der Zielspalte
For QSpalte = 2 To 32 'Spalte D bis H
For QZeile = 9 To 300
ActiveSheet.Cells(ZZeile, 1) = ActiveSheet.Cells(QZeile, QSpalte) 'die 9 ist Spalte  _
I
ZZeile = ZZeile + 1
Next
Next
End Sub
Gruß UweD

AW: Makro in anderem Tabellenreiter ausführen
22.06.2016 15:17:12
UweD
Hab gerade nochmal gelesen,
und festgestellt, dass du ja nur in Tab1 arbeiten möchtest.
Dann musst du in meinem Makro das ActiveSheet. durch Sheets("Tabelle1"). ersetzen.

Anzeige
AW: Makro in anderem Tabellenreiter ausführen
22.06.2016 15:46:02
Tamara
Hallo Uwe,
vielen Dank für deine schnelle Antwort.
Habe ich geändert, die Anwendung wird allerdings nicht ausgeführt - die Spalte in die die Daten untereinander eingefügt werden sollen bleibt komplett leer.
Hast du noch eine andere Idee?
Danke & Grüße

AW: Makro in anderem Tabellenreiter ausführen
22.06.2016 15:09:41
Mullit
Hallo,
das machen wir einfach so, Dein Makro in ein Standardmodul:
Option Explicit
Public Sub Spalten_untereinander()
Dim QZeile As Long 'Zeile Quelle
Dim QSpalte As Long 'Spalte Quelle
Dim ZZeile As Long 'Zeile Ziel
ZZeile = 9 'Startzeile in der Zielspalte
For QSpalte = 2 To 32 'Spalte D bis H
For QZeile = 9 To 300
With Tabelle1
.Cells(ZZeile, 1).Value = .Cells(QZeile, QSpalte).Value 'die 9 ist Spalte I
End With
ZZeile = ZZeile + 1
Next
Next
End Sub

Dein Button_Click dann so:
Private Sub cmd_aktualisieren_HF_Click()
Call Spalten_untereinander
End Sub

Gruß, Mullit

Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige