Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
988to992
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
988to992
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Auswahl mit Verarbeitung

Auswahl mit Verarbeitung
30.06.2008 09:48:38
Georg
Hallo,
ich habe ein Excelblatt, wo in Spalte A untereinander nur Pfadangqben von Dateien stehen.
wie kann ich nun dem Anwender die Möglichkeit geben in Spalte B durch "x" die Dateien zu markieren, die anschließen weiter verarbeitet werden sollen.
Das Programm soll also dem Anwender die Möglichkeit geben, in der Spalte B nach Belieben die gewünschten Dateien mit x zu markieren. Das Programm sollte sich die Stelle in der Spalte B merken, wo die "x"-se stehen um dann die markierten Dateien öffnen zu können.
Bin für alle Hinweise dankbar
Schöne Grüße
Georg

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auswahl mit Verarbeitung
30.06.2008 10:12:00
Matthias
Hallo Georg
als Ansatz:
Userbild
hier der Code zum Kopieren:

Option Explicit
Sub mlT()
Dim x As Long
For x = 1 To 17
If Cells(x, 2) = "x" Then MsgBox "Folgende Datei öffnen: " & Cells(x, 2).Offset(, -1).Value
Next
End Sub


Gruß Matthias

AW: Auswahl mit Verarbeitung
30.06.2008 10:18:25
Georg
Hallo Mathias,
danke für deine Hilfe, aber das "Ankreuzen" sollte während des Programmablaufes geschehen und nicht vorher
Schöne Grüße
Georg

Anzeige
siehe bei UweD
30.06.2008 10:43:00
Matthias
Hallo
Da hast Du Dich wohl etwas unglücklich ausgedrückt.
anscheinend hat aber nun UweD schon gespostet, was Du brauchst.
Gruß Matthias

AW: Auswahl mit Verarbeitung
30.06.2008 10:54:00
Erich
Hallo Georg,
warum soll das "Ankreuzen" während des Programmablaufes geschehen?
Das würde etwa bedeuten, dass ein Makro dem User die Liste der Dateien aus Spalte A z. B. in einer UserForm
anbietet und er dort seine "x"e setzen kann. Das ginge doch wirklich viel einfacher direkt in der Tabelle.
Makro1 wird (vermutlich nach Erstellung der Dateiliste) beendet. Dann kann der User in der Tabelle auswählen
und (etwa per Button) ein zweites Makro für die Verarbeitung starten.
@Matthias:
Was spricht gegen Cells(x, 1).Value anstelle von Cells(x, 2).Offset(, -1).Value ?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
@Erich
30.06.2008 11:11:22
Matthias
Hallo Erich
... da spricht nichts dagegen
Wir wir alle wissen gibt es in Excel immer viele Varianten, wie z.B auch Cells(x, "A").Value.

Option Explicit
Sub mlT()
Dim x As Long
For x = 1 To 17
If Cells(x, 2) = "x" Then MsgBox "Folgende Datei öffnen: " & Cells(x, "A").Value
Next
End Sub


funktioniert da genauso :o)
Gruß Matthias

AW: Auswahl mit Verarbeitung
30.06.2008 11:18:00
Georg
Hallo Erich,
der Hintergrund ist, daß der Anwender nur einmal den Button Start drücken soll.
Modul 1 listet die Dateien in dem Tabellenblatt auf. Ursprünglich hat der User dann die Dateien angekreuzt und dann Modul 2 gestartet.
Wenn nun alles in einem Aufwasch geschehen soll, also Modul 2 automatisch nach Modul 1 startet, kann der Anwender normalerweise die Dateien nicht mehr ankreuzen. Das Programm müßte also warten können, bis die Auswahl erfolgt ist und dann auf OK weitermachen
Außerdem soll Modul 1 noch mit einem Modul 3 verwendet werden, ohne nochmals angestoßen zu werden
Schöne Grüße
Georg

Anzeige
AW: Auswahl mit Verarbeitung
30.06.2008 10:17:00
Micha555
Hallo Georg,
ohne das jetzt getestet zu haben, würde spontan auf Schleife tippen:
X = Anzahl Zeilen
for n=1 to X
if Range("B" & n) = "X" then
Filename = Range ("A" & n)
Workbooks.Open Filename
end if
next n
Gruss
Micha

AW: Auswahl mit Verarbeitung
30.06.2008 10:44:00
Georg
Hallo Micha,
danke für deine Unterstützung.
Die Schwierigkeit ist, daß das Programm sozusagen anhält, der Anwender seine "x"-se macht und dann das Programm weitermacht
Schöne Grüße
Georg

AW: Auswahl mit Verarbeitung
30.06.2008 10:27:00
UweD
Hallo
wenn in Spalte B ein x eingetragen wird, wird geprüft, ob die Datei aus Spalte A vorhanden ist und dann geöffnet.
- Rechtsclick auf den Tabellenblattreiter unten
- Code anzeigen
- ins rechte Fenster diesen Code reinkopieren
- ...


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 2 And Target.Row > 1 Then
        Dim Datei$
        If UCase(Target) = "X" Then
            Datei = Target.Offset(0, -1)
            If Dir(Datei) <> "" Then
                Workbooks.Open Filename:=Datei
            Else
                MsgBox "Die Datei: " & Datei & vbLf & vbLf & " ist nicht vorhanden!"
            End If
        End If
    End If
End Sub


Gruß UweD

Anzeige
AW: Auswahl mit Verarbeitung
30.06.2008 10:42:00
Georg
Hallo UweD,
danke für deine Hilfe.
Mir ist nicht ganz klar, wie dein Programm funktioniert?
Wenn ich in der Spalte B ein x eingebe passiert nichts
Kannst du mir bitte weiterhelfen
Schöne Grüße
Georg

AW: Auswahl mit Verarbeitung
30.06.2008 11:05:14
UweD
Hallo nochmal
hier mal eine Musterdatei: https://www.herber.de/bbs/user/53459.xls
Wichtig ist, daß der Code an die richtige Stelle gelangt.
- Wenn du die Musterdatei geöffnet hast, dann ..
- drücke ALT+F11 (damit öffnet sich der VB-Editor)
- drücke Strg+R (damit wird der Projekt Explorer angezeigt, wenn noch nicht geschehen)
- dort Die Tabelle links doppelklicken (in meinem Fall Tabelle1)
- rechts dann den Code reincopieren.
Userbild
Der Code bewirkt...
ob die Änderung in Spalte 2 also B erfolgt
ob die Zeile dabei größer als 1 ist (wegen der Überschrift)
ob die Änderung ein X (oder auch x) war
ob die Datei der Pfadangabe aus Spalte A der momentanen Zeile auch tatsächlich besteht
wenn ja, dann wird diese geöffnet sonst kommt die Meldung
OK?
Gruß UweD

Anzeige
AW: Auswahl mit Verarbeitung
30.06.2008 11:32:49
Georg
Hallo UweD,
danke, es funktioniert, Super!
Könnte man vielleicht erst alle Dateien ankreuzen und dann das Programm ablaufen lassen, das wäre optimal!
schöne Grüße
Georg

AW: Auswahl mit Verarbeitung
30.06.2008 12:14:00
UweD
Hallo nochmal
dann sieht das Makro so aus.
ich bab es auf einen Button gelegt.


Option Explicit
Private Sub CommandButton1_Click()
    Dim TB1, LR&, i&, Datei$
    Set TB1 = Sheets("Tabelle1")
    LR = TB1.Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte
    For i = 2 To LR
        If UCase(TB1.Cells(i, 2)) = "X" Then
            Datei = TB1.Cells(i, 1)
            If Dir(Datei) <> "" Then
                MsgBox "Die Datei: " & Datei & vbLf & vbLf & " wird jetzt geöffnet!"
                Workbooks.Open Filename:=Datei
            Else
                MsgBox "Die Datei: " & Datei & vbLf & vbLf & " ist nicht vorhanden!"
            End If
        End If
    Next
End Sub
hier die aktualisierte Datei. https://www.herber.de/bbs/user/53466.xls
Gruß UweD

Anzeige
AW: Auswahl mit Verarbeitung
30.06.2008 13:18:00
Georg
Hallo UweD,
genauso hab ich mir das vorgestellt!
Danke, SuperSpitze!
Schöne Grüße
Georg

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige