Anzeige
Archiv - Navigation
1356to1360
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
gefilterte Tabelle Spalte makieren
22.04.2014 19:24:33
Friedhelm
Hallo,
ich habe in meiner Tabelle folgende Lage:
Duch die Filterung auf ein bestimmtes Datum sind viele Zeilen ausgeblendet. Ich möchte dann aus einer Spalte die Rechnungsnummer auf ein variables Feld legen:
Dim Re_Nr(100) as integer
Danach sollen die einzelnen Re-Nr. bestimmte Makros aufrufen.
Wie bekomme ich die gefilterte Re-Nr. in die Variablen?
vielen Dank für eure Mühe
Schönen Gruß
Friedhelm

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: gefilterte Tabelle Spalte makieren
22.04.2014 22:02:04
Tino
Hallo,
hier ein Beispiel.
Sub test()
Dim Re_Nr(), ArData, rng As Range
Dim n&, nn&

For Each rng In Tabelle1.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Areas
    ArData = rng.Columns(2).Resize(, 2) 'Spalte mit RE-Nr Angeben 
    Redim Preserve Re_Nr(Ubound(ArData) + nn - 2)
    For n = 1 To Ubound(ArData)
        If nn > 0 Then
            Re_Nr(nn - 1) = ArData(n, 1)
        End If
        nn = nn + 1
    Next n
Next rng

'Ausgabe 
For n = Lbound(Re_Nr) To Ubound(Re_Nr)
    MsgBox Re_Nr(n)
Next n

End Sub
Gruß Tino

Anzeige
AW: gefilterte Tabelle Spalte makieren
22.04.2014 22:53:35
Friedhelm
Hallo Tino,
super gemacht, es funktioniert.
Ich kann das skript nicht richtig nachvollziehen dennoch vielen Dank.
Ein Bitte noch:
Du hast in der Box die einzelnen Daten angezeigt. kann ich die Daten (Re-Nr) an dieser Stelle in die Windows Zwischenablage geben um sie in einem anderen Programm durch strg+v einzufügen?
Das wäre super
Vielen Dank
Friedhelm

AW: gefilterte Tabelle Spalte makieren
22.04.2014 23:34:12
Tino
Hallo,
versuch mal so.
Dazu wird der Verweis auf Microsoft Forms 2.0 ... gebraucht.
Einfach eine Userform in der Datei erstellen und wieder löschen,
diese Aktion setzt diesen Verweis automatisch.
Sub test()
Dim Re_Nr(), ArData, rng As Range
Dim n&, nn&
Dim obj As DataObject

For Each rng In Tabelle1.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Areas
    ArData = rng.Columns(2).Resize(, 2) 'Spalte mit RE-Nr Angeben 
    Redim Preserve Re_Nr(1 To Ubound(ArData) + nn)
    For n = 1 To Ubound(ArData)
        If nn > 0 Then
            Re_Nr(nn) = ArData(n, 1)
        End If
        nn = nn + 1
    Next n
Next rng

'Ausgabe 
Redim Preserve Re_Nr(1 To nn - 1)
Set obj = New DataObject
With obj
    .Clear
    .SetText Join(Re_Nr, vbCrLf)
    .PutInClipboard
End With
Set obj = Nothing
End Sub
Gruß Tino

Anzeige
AW: gefilterte Tabelle Spalte makieren
23.04.2014 10:36:22
Friedhelm
Hallo Tino,
danke für deine Mühe.
da für mich das Skript nicht nachvollziehbar ist, erkläre mir bitte an welcher Stelle ich ein weiteres Makro aufrufen kann und dann die Re-Nr. mit Strg+v einfügen kann.
Danach soll das Skript weiterlaufen und die nächste Re-Nr bereitstellen.
ich hoffe es ist deutlich geworden welches Ziel ich mit dem skript erreichen möchte.
Schönen Gruß
Friedhelm

AW: gefilterte Tabelle Spalte makieren
23.04.2014 11:02:17
Tino
Hallo,
ich dachte dies ist eine gefilterte Tabelle dann sollten alle noch sichtbaren Nr.
in der Zwischenablage liegen!
Wenn Du jetzt den Filter neu setzen willst und den Code erneut laufen lassen willst,
evtl. einfach auf der Tabelle einen Button und diesem dieses Makro zuweisen,
dann kannst diesen Code so oft wie du möchtest laufen lassen.
Gruß Tino

Anzeige
AW: gefilterte Tabelle Spalte makieren
23.04.2014 12:56:55
Friedhelm
Hallo Tino,
leider habe ich mein Anliegen nicht deutlich genug beschrieben, sorry:
Nach der Filterung der Tabelle sind in einer Spalte die Re-Nr. Die werden jetzt durch dein Skript in ein Feld geladen.
Nun sollen alle Nr. einzeln nacheinander in einem weiteren Makros (M1) arbeiten. Zu dem Zeitpunkt zu dem M1 startet soll die Re-Nr. in der Windows Zwischenablage zur Verfügung stehen.
Hintergrund: Das Makro M1 läßt ein externes Program anlaufen, bei dem die Re-Nr. als Name zum speichern genommen werden soll. Damit es kein es Tippfehler gibt, würde ich es gerne über Einfügen (Strg+v) einbringen.
Ich hoffe, ich habe es jetzt besser rüber gebracht
Danke und schönen Gruß
Friedhelm

Anzeige
AW: gefilterte Tabelle Spalte makieren
23.04.2014 13:39:55
Tino
Hallo,
hier mal eine Variante.
Zuerst die Sub test starten damit die Re-Nr. in RE_Nr gelesen werden.
Danach kannst Du wenn Du im Excel bist mit der Tastenkombination Strg+Alt+c
die Einträge nacheinander in die Zwischenablage kopieren.
Mango für jeden nächsten Eintrag musst Du zu Excel zurückkehren und
die Tastenkombination ausführen.
Dim Re_Nr()

Sub test()
Dim ArData, rng As Range
Dim n&, nn&

For Each rng In Tabelle1.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Areas
    ArData = rng.Columns(2).Resize(, 2) 'Spalte mit RE-Nr Angeben 
    Redim Preserve Re_Nr(1 To Ubound(ArData) + nn)
    For n = 1 To Ubound(ArData)
        If nn > 0 Then
            Re_Nr(nn) = ArData(n, 1)
        End If
        nn = nn + 1
    Next n
Next rng
Redim Preserve Re_Nr(1 To nn - 1)
Application.OnKey "^%c", "Einzel_RE_nach_ZW"
End Sub

Sub Einzel_RE_nach_ZW()
Static nIndex&
On Error GoTo ErrorHandler:
nIndex = nIndex + 1
If nIndex = 0 Or nIndex = Ubound(Re_Nr) Then
    nIndex = Lbound(Re_Nr)
End If

With New DataObject
    .Clear
    .SetText Re_Nr(nIndex)
    .PutInClipboard
End With
MsgBox "Aktueller Eintrag in Zwischenablage:" & vbCr & "Index: " & nIndex & vbCr & "Re-Nr.: " & Re_Nr(nIndex), vbInformation
Exit Sub

ErrorHandler:
nIndex = 0
Application.OnKey "^%c"
MsgBox "keine RE Nr. vorhanden!", vbCritical
End Sub

Gruß Tino

Anzeige
AW: gefilterte Tabelle Spalte makieren
23.04.2014 13:49:36
Tino
Hallo,
mach noch aus der Zeile
If nIndex = 0 Or nIndex = Ubound(Re_Nr) Then
diese
If nIndex = 0 Or nIndex > Ubound(Re_Nr) Then
Gruß Tino

AW: gefilterte Tabelle Spalte makieren
25.04.2014 09:11:05
Friedhelm
Hallo Tino,
ich konnte leider nicht eher antworten.
vielen Dank für die Mühe, die du dir gemacht hast.
Ich werde in den nächsten Tagen versuchen das Ganze in mein Programm einzubinden.
Bis bald mal
Friedhelm

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige