7.3k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Supportnet Gemeinde,

das Makro von Oliver ist fast genau das was ich suche.

Ich habe eine Tabelle mit ca. 2000 Datensätzen, diese sollen durch anhaken eines Kontrollkästchen in eine andere Datei kopiert werden.
Je nach Kriterium in 3 verschiedene Excel-Dateien.

Nur benötige ich die Kontrollkästchen nicht in der ersten Spalte
sondern hinter der letzten Spalte und dort in 3 Spalten (3 Kriterien).

Wie müsste man das Makro abändern, wenn ich die Kontrollkästchen zum Beispiel in Spalte AQ / AR / AS bräuchte?
Könnte man das kopieren der ausgewählten Zeilen auch per Makro machen?

Ich bin unter VBA leider noch ein Anfänger, es wäre schön wenn Ihr mir weiterhelfen könntet.

Viele Grüße
pshome

18 Antworten

0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo pshome ,
die Seite ist mir auch bekannt zum dowloaden.
Den kleinen blauen "Dounload" Button unter Datum, Dateigröße, Downloads benutzen.

Gruß
fedjo
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo pshome,

tut mir leid, dass du mit dem Hoster Probleme hast - ich sehe im Firefox nur den blauen Download-Button, den Fedjo beschrieben hat - hängt wohl an meinen Add-Ons.

Hier noch mal ein alternativer Hoster: Download
Benutze den Button "Free download" :-).

Wie oben bereits geschrieben kannst du den Verzeichnispfad im Makro leicht selbst anpassen.

Gruß

M.O.
0 Punkte
Beantwortet von pshome Einsteiger_in (29 Punkte)
Hallo fedjo,

danke für Deinen Tipp.

Genau diesen Button hielt ich für fragwürdig!

Ein schönes Wochenende.

Gruß

Pshome
0 Punkte
Beantwortet von pshome Einsteiger_in (29 Punkte)
Hallo M.O.,

Ich habe die Datei :-).

Mit dem Firefox ging es tatsächlich besser.

Nach kurzer Prüfung in der Testumgebung, läuft alles gut.

Ich werde alles am Wochenende intensiv testen und in die Originale einbauen, Feedback folgt.

Nochmals vielen Dank für Deine Mühe und ein schönes Wochenende.

Viele Grüße

pshome
0 Punkte
Beantwortet von pshome Einsteiger_in (29 Punkte)
Hallo M.O.,

funktioniert super :-), danke!

An die Datenüberprüfung hatte ich auch gedacht, nur leider bin ich nicht derjenige der die Auswahl für die Eingabe trifft.

Kann man eine Kontrolle einbauen, dass pro Zeile nur 1-mal ein Kreuz gesetzt werden darf?

Sonst könnte es passieren Zeilen landen in „Offen“ und „Begonnen“ und das darf nicht passieren.

Viele Grüße

pshome
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo pshome,

freut mich, dass das Makro so funktioniert, wie du willst.
Für die Kontrolle ändere das Worksheet_Change-Makro in der betreffenden Tabelle wie folgt:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("AQ:AS")) Is Nothing Then 'bei Änderungen in Überschrift Makro beenden

If Target.Row < 8 Then Exit Sub

End If

'Wenn sich Inhalt der Zelle nicht geändert hat, dann Makro beenden
If Target.Value = alt Then Exit Sub

'Zeile zum kopieren bzw. löschen wird in Variable geschrieben
Zeile = Target.Row

'Entsprechend der ausgewählten Spalte wird die zu öffnende Datei selektiert
Select Case Target.Column

Case Is = 43 'Spalte AQ
Mappe = "Offen.xlsm"
Case Is = 44 'Spalte AR
Mappe = "Begonnen.xlsm"
Case Is = 45 'Spalte AS
Mappe = "Zuschlag.xlsm"

End Select

'hier wird nun zum Kopieren bzw. löschen verzweigt

If Target.Value = "x" Then
'prüfen, ob nur ein x pro Zeile gesetzt wurde - mit Zählenwenn
If Application.CountIf(Range(Cells(Target.Row, 43), Cells(Target.Row, 45)), "x") > 1 Then
MsgBox "Sie dürfen nur ein x in den Spalten AQ bis AR setzen! Bitte löschen Sie vorher ein x!", vbCritical, "Fehler"
Target.Value = alt
Exit Sub
End If
Call kopieren
Else
Call loeschen
End If

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von pshome Einsteiger_in (29 Punkte)
Hallo M.O.,

funktioniert hervorragend.

Bei einer Bewertung mit 5 Sternen würdest Du 5+ bekommen.

Danke für DEINE Arbeit!

Jetzt kann ich auch beruhigt in den Urlaub fahren.

Mit den besten Grüßen

pshome
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Peter,

freut mich, dass das Makro zu deiner Zufriedenheit funktioniert und danke für die Rückmeldung.

Ich wünsche dir einen schönen Urlaub :-).

Gruß

M.O.
...