Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Schnelle Unterstützung bei Excel-Makro

Frage Entwicklung VB for Applications

Mitglied: matester

matester (Level 1) - Jetzt verbinden

22.07.2010, aktualisiert 23.07.2010, 5627 Aufrufe, 14 Kommentare

Hallo,
wie geht es euch? Kann mir jemand helfen?



1. Eine Tabelle A bis D und mehere Textzeilen 1 bis 20. Ich benötige ein Makro, was die Tabelle 1 in jeder Zeile nach einem Begriff "A" der in der Spalte D vorhanden ist,
durchsucht und wenn die letzte leere Zelle erreicht wurde nach einem 2. Begriff "B" und 3. Begriff "C" wieder Zeile für Zeile durchsucht. Dabei sollen alle "A" und
alle "B" aus Tabelle 1 (gesamte Zeile) in Tabelle 2 kopiert werden. Sortiert nach A und B. Alle Begriffe "C" in Tabelle 3 kopiert werden.


2. Die Tabelle 2 sollen dann nach bestimmten Begriffen "*Test1*" und "*Test2*" Zeile für Zeile durchsucht und gelöscht werden.


Ich hoffe, dass die Beschreibung einigermaßen verständlich geschrieben ist.


Vielen Dank im Voraus . . .





Hallo,
wie geht es euch? Kann mir jemand helfen?

Hier die Daten . . .

Tabelle1
A B C D
1 Büro 3631 fuermichseite
2 Aktuelles 2574 fuermichseite1
3 Bank 2366 fuermichseite
4 Haus 1795 fuermichseite1
5 Schrank 1156 fuermichseite1
6 Aktuelles 1140 fuermichseite
7 Test 677 fuermichseite2
8 Test 611 fuermichseite2
9 Test 594 fuermichseite3


Ergebnis Tabelle2
A B C
Büro 3631 fuermichseite
Bank 2366 fuermichseite
Aktuelles 1140 fuermichseite
Aktuelles 2574 fuermichseite1
Haus 1795 fuermichseite1
Schrank 1156 fuermichseite1

4232955ffc0d58e3e76c95086e162f70 - Klicke auf das Bild, um es zu vergrößern

Und hier die Beschreibung . . .

Suche aus der Tabelle1 alle Begriffe "*seite" und kopiere diese Zeilen ohne Spalte A in die 2. Tabelle.
Wenn alle Begriffe "seite" kopiert wurden dann suche nach dem Begriff "*seite1"
und kopiere diese auch in die 2. Tabelle in die erste freie Zeile nach dem Begriff "seite".


Vielen Dank für die Unterstützung!!!
Mitglied: LotPings
22.07.2010 um 21:47 Uhr
Zitat von matester:
Ich benötige schnelle Hilfe!!!
Ich auch.

Ich habe zwei Probleme:
Glaub ich nicht, werden mehr sein.

1. Eine Tabelle A bis D und mehere Textzeilen 1 bis 20. Ich benötige ein Makro, was die Tabelle 1 in jeder Zeile nach einem
Begriff "A" der in der Spalte D vorhanden ist,
durchsucht und wenn die letzte leere Zelle erreicht wurde nach einem 2. Begriff "B" und 3. Begriff "C"
wieder Zeile für Zeile durchsucht. Dabei sollen alle "A" und
alle "B" aus Tabelle 1 (gesamte Zeile) in Tabelle 2 kopiert werden. Sortiert nach A und B. Alle Begriffe
"C" in Tabelle 3 kopiert werden.

2. Die Tabelle 2 sollen dann nach bestimmten Begriffen "*Test1*" und "*Test2*" Zeile für Zeile durchsucht
und gelöscht werden.


Ich hoffe, dass die Beschreibung einigermaßen verständlich geschrieben ist.
Nö.

Vielleicht erläuterst du etwas den Kontext oder gibst mal ein konkretes Beispiel.

Gruß
LotPings
Bitte warten ..
Mitglied: 76109
22.07.2010 um 23:31 Uhr
[OT]

Hallo LotPings!

In diesem Fall, bin ich voll Deiner Meinung und bei dem Wort "schnell" bekomme ich fast immer Magenschmerzen. Da ist mir Schreien doch lieber

Gruß Dieter

[/OT]
Bitte warten ..
Mitglied: it-frosch
22.07.2010 um 23:47 Uhr
Hallo matester,

klingt wie eine Hausaufgabe die eigentlich du lösen solltest.

Grüße vom IT-Frosch


PS: Mach doch mal einen Anfang, dann helfen wir dir gern weiter.
Oder frei nach Garfield: Nur selber essen macht dick.
Bitte warten ..
Mitglied: matester
23.07.2010 um 16:53 Uhr
Hallo IT-Frosch,

wenn ich dazu selber in der Lage wäre, hätte ich bestimmt nicht nach Deiner Hilfe bzw. Unterstützung gerufen!!!
Bitte warten ..
Mitglied: Biber
23.07.2010 um 17:09 Uhr
Ja nee, matester,


Zitat von matester:
Hallo IT-Frosch,

wenn ich dazu selber in der Lage wäre, hätte ich bestimmt nicht nach Deiner Hilfe bzw. Unterstützung gerufen!!!
Nix vermischen jetzt.
Natürlich wissen hier alle it-frösche und sonstigen Tiernamen, dass du hier Hilfe suchst, weil du momentan allein da nicht weiterkommst.
Da sieht auch keiner ein Problem, denke ich. Das geht uns allen so auf manchen Gebieten. Und manchen auf allen Gebieten.

Du bist aber nicht damit ins Fettnäpfchen getreten, sondern mit der Eröffnung:
Ich benötige schnelle Hilfe!!!
Ich habe zwei Probleme:

An dieser Stelle haben die meisten andere Plaudereibeginner stehen
Hallo,
wie geht es euch? Kann mir jemand bei {whatever} helfen?.
ohne ähnliches.

Das zweite, was zu Recht auf Unverständnis stiess ist die "Beispielbeschreibung".

Ja hey! - die meisten von uns arbeiten mehr als 10 Minuten täglich mit und in konkreten Unternehmensprozessen.
Auch mit Excel.
Da komm doch nicht mit "Ich benötige ein Makro, was die Tabelle 1 in jeder Zeile nach einem Begriff "A" der in der Spalte D vorhanden ist,
durchsucht und wenn die letzte leere Zelle erreicht wurde nach einem 2. Begriff "B" und 3. Begriff "C"wieder Zeile für Zeile durchsucht. Dabei sollen alle "A" ...


Sag doch, am besten mit 5 Zeilen aus der Excel-Tabelle "Standzeiten" oder wie immer "Tabelle 1" nun heißen mag,
  • was sind die Daten, mit denen ich loslaufe
  • was ist die Verarbeitungsregel
  • wie soll das Ergebnis aussehen.

Ist doch nicht gegen dich gerichtet - aber wir brauchen doch sonst mehr Zeit zum Immer-wieder-nachfragen als zum Lösen.

Grüße
Biber
Bitte warten ..
Mitglied: matester
23.07.2010 um 18:12 Uhr
Hallo,
wie geht es euch? Kann mir jemand helfen?

Hier die Daten . . .

Tabelle1
A B C D
1 Büro 3631 fuermichseite
2 Aktuelles 2574 fuermichseite1
3 Bank 2366 fuermichseite
4 Haus 1795 fuermichseite1
5 Schrank 1156 fuermichseite1
6 Aktuelles 1140 fuermichseite
7 Test 677 fuermichseite2
8 Test 611 fuermichseite2
9 Test 594 fuermichseite3


Ergebnis Tabelle2
A B C
Büro 3631 fuermichseite
Bank 2366 fuermichseite
Aktuelles 1140 fuermichseite
Aktuelles 2574 fuermichseite1
Haus 1795 fuermichseite1
Schrank 1156 fuermichseite1

4232955ffc0d58e3e76c95086e162f70 - Klicke auf das Bild, um es zu vergrößern


Und hier die Beschreibung . . .

Suche aus der Tabelle1 alle Begriffe "*seite" und kopiere diese Zeilen ohne Spalte A in die 2. Tabelle.
Wenn alle Begriffe "seite" kopiert wurden dann suche nach dem Begriff "*seite1"
und kopiere diese auch in die 2. Tabelle in die erste freie Zeile nach dem Begriff "seite".


Vielen Dank für die Unterstützung!!!
Bitte warten ..
Mitglied: matester
24.07.2010 um 21:10 Uhr
Hallo LotPings,

hier die Daten . . .

Tabelle1
A B C D
1 Büro 3631 fuermichseite
2 Aktuelles 2574 fuermichseite1
3 Bank 2366 fuermichseite
4 Haus 1795 fuermichseite1
5 Schrank 1156 fuermichseite1
6 Aktuelles 1140 fuermichseite
7 Test 677 fuermichseite2
8 Test 611 fuermichseite2
9 Test 594 fuermichseite3


Ergebnis Tabelle2
A B C
Büro 3631 fuermichseite
Bank 2366 fuermichseite
Aktuelles 1140 fuermichseite
Aktuelles 2574 fuermichseite1
Haus 1795 fuermichseite1
Schrank 1156 fuermichseite1

4232955ffc0d58e3e76c95086e162f70 - Klicke auf das Bild, um es zu vergrößern


Und hier die Beschreibung . . .

Suche aus der Tabelle1 alle Begriffe "*seite" und kopiere diese Zeilen ohne Spalte A in die 2. Tabelle.
Wenn alle Begriffe "seite" kopiert wurden dann suche nach dem Begriff "*seite1"
und kopiere diese auch in die 2. Tabelle in die erste freie Zeile nach dem Begriff "seite".


Vielen Dank für die Unterstützung!!!
Bitte warten ..
Mitglied: 76109
26.07.2010 um 09:23 Uhr
Hallo matester!

Wäre noch die Frage zu klären, wie die Suchbegriffe gehandhabt werden sollen. Per InputBox abfragen (z.B. durch Komma getrennt)? oder als konstante Werte? oder alle Begriffe mit Seite (nach Seite sortiert)...?

Gruß Dieter
Bitte warten ..
Mitglied: matester
26.07.2010 um 18:30 Uhr
Guten Tag Dieter,

die Suchbegriffe als konstante Werte!!!

Vielen Dank
Bitte warten ..
Mitglied: LotPings
26.07.2010 um 18:39 Uhr
Hallo Matester,

hört sich für mich nicht unbedingt nach Makro sondern nach SVerweis an.

Gruß
LotPings
Bitte warten ..
Mitglied: matester
26.07.2010 um 19:48 Uhr
Hallo LotPings,

es würde auch reichen, wenn die gefundenen Daten "AQ", "TE" und"GR" anstelle der 1. Tabelle lezte Zeile in die 2. Tabelle nacheinander kopiert werden (siehe Makro).

Sub Kopieren()
Dim lngRow As Long

For lngRow = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If UCase(Cells(lngRow, 3)) = UCase("AQ") Or _
UCase(Cells(lngRow, 3)) = UCase("TE") Or _
UCase(Cells(lngRow, 3)) = UCase("GT") Then _
Rows(lngRow).Copy Cells(Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row, 1)
Next
End Sub


Oder bei dem Makro 2 nicht die gesamte Zeile sondern nur die Zellen (A bis D) in denen der Suchbegriff (z.B. "AQ") steht, gelöscht werden. Weil Bedingungen gesetzt sind.


Sub Testlöschen()
Dim var As Variant
Do While Not IsError(var)
var = Application.Match("*AQ", Columns(1), 0)
If Not IsError(var) Then Cells(var, 1).Delete xlShiftUp
Loop
Do While Not IsError(var)
var = Application.Match("*TE", Columns(1), 0)
If Not IsError(var) Then Cells(var, 1).Delete xlShiftUp
Loop
End Sub


Vielen Dank für die Unterstützung!!!
Bitte warten ..
Mitglied: 76109
27.07.2010 um 00:14 Uhr
Hallo matester!

Mhm, interessanter Code

Und hier meine Interpretation zum vorigen Beispiel Tabelle1 Spalte B:D, mit Suchbegriffe in Spalte D, kopieren nach Tabelle2 Spalte A:C und sortieren nach Spalte C-A-B:
01.
Option Explicit 
02.
Option Compare Text 
03.
 
04.
Const Sheet1 = "Tabelle1"   'Tabellenname Tabelle 1 
05.
Const Sheet2 = "Tabelle2"   'Tabellenname Tabelle 2 
06.
 
07.
Const TitelZeile = 2        'Überschriftzeile 
08.
Const StartZeile = 3        'Daten ab Zeile ? 
09.
 
10.
Sub KopierenUndSortieren() 
11.
    Dim Suchbegriffe, Wks1 As Worksheet, Wks2 As Worksheet, c As Range, AktuelleZeile As Long, i As Integer 
12.
     
13.
    Suchbegriffe = Array("AQ", "TE", "GR") 
14.
     
15.
    Set Wks1 = Sheets(Sheet1):  Set Wks2 = Sheets(Sheet2) 
16.
     
17.
    AktuelleZeile = StartZeile 
18.
     
19.
    Wks2.Cells.Clear 
20.
        
21.
    With Wks1 
22.
        For Each c In .Range("D:D") 
23.
            For i = 0 To UBound(Suchbegriffe) 
24.
                If c Like Suchbegriffe(i) Then 
25.
                    Range(.Cells(c.Row, "B"), .Cells(c.Row, "D")).Copy Wks2.Cells(AktuelleZeile, "A") 
26.
                    AktuelleZeile = AktuelleZeile + 1:  Exit For 
27.
                End If 
28.
            Next 
29.
        Next 
30.
    End With 
31.
     
32.
    With Wks2 
33.
       .Cells(StartZeile, "A").CurrentRegion.Sort _ 
34.
            Key1:=.Cells(StartZeile, "C"), Key2:=.Cells(StartZeile, "A"), Key3:=.Cells(StartZeile, "B") 
35.
        Range(Wks1.Cells(TitelZeile, "B"), Wks1.Cells(TitelZeile, "D")).Copy .Cells(TitelZeile, "A") 
36.
    End With 
37.
End Sub 
38.
 
39.
Sub SuchenUndLoeschen() 
40.
    Dim Suchbegriffe, EndLine As Long, i As Long, a As Integer 
41.
     
42.
    Suchbegriffe = Array("AQ", "TE") 
43.
     
44.
    With Sheets(Sheet2) 
45.
        EndLine = .Cells(.Rows.Count, "C").End(xlUp).Row 
46.
         
47.
        For i = StartZeile To EndLine 
48.
            If i > EndLine Then Exit For 
49.
            For a = 0 To UBound(Suchbegriffe) 
50.
                If .Cells(i, "C") Like Suchbegriffe(a) Then 
51.
                   .Rows(i).Delete:  i = i - 1:  EndLine = EndLine - 1:  Exit For 
52.
                End If 
53.
            Next 
54.
        Next 
55.
    End With 
56.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: matester
27.07.2010 um 19:16 Uhr
Hallo Dieter,

ich habe selten so eine gute Interpretation gesehen!!!

Das ist genau, was ich gesucht habe. Das sind 100 Punkte für Dich!!!


Vielen Dank für Deine Unterstützung!!!
Bitte warten ..
Mitglied: 76109
27.07.2010 um 21:29 Uhr
Hallo matester!

Zitat von matester:
ich habe selten so eine gute Interpretation gesehen!!!
Danke für die Blumen
Das ist genau, was ich gesucht habe. Das sind 100 Punkte für Dich!!!
Und wo kriege ich jetzt die Waschmaschine

Vielen Dank für Deine Unterstützung!!!
Gern geschehen

Gruß Dieter
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Microsoft Office
gelöst Excel-Makro (7)

Frage von yuki13 zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel Makro : Erst prüfen bei erfolgreicher IF einen Wert überschreiben (4)

Frage von Matze1508 zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel Makro - Button "Springe zu Zeile mit heutigem Datum" (5)

Frage von hannsgmaulwurf zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel 2010 Zellen mit bestimmten Inhalt mit Makro formartierten (5)

Frage von packmann2016 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (9)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...