Top-Themen

Aktuelle Themen (A bis Z)

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 Durchsuchen einer Spalte nach Variable, wenn gefunden, kopiere Zeile

Mitglied: arndttob

arndttob (Level 1) - Jetzt verbinden

16.03.2010 um 11:03 Uhr, 12875 Aufrufe, 14 Kommentare

Hi Community,
ich habe wiedermal ein Excel/VBA Problem bei dem ich ratlos bin, hoffe Ihr könnt mir helfen.
Wäre super!

da ich leider nicht wirklich bewandert bin was Excel/VBA betrifft, brauch ich wieder Hilfe.
Habe mich zwar schon selbst versucht, doch leider erfolglos.
Folgendes Problem:
ich möchte mit diesem Makro bewirken

- Werte (zB. 1000-5000) aus Sheet Abgleich, Spalte B sollen mit Werten (0-9999) aus Sheet LOP, Spalte K verglichen werden
- wenns eine Übereinstimmung gibt (zB. 3456), soll die Zeile des Wertes 3456 vom Sheet LOP nach Abgleich kopiert werden

Allerdings gibt er mir bei der Zeile "Sheets(SheetNamen).Range("O:U").Paste" einen Laufzeitfehler aus.
Ich hoffe Ihr könnt mir helfen. Ich weiss leider nicht mehr weiter

Option Explicit
Option Compare Text

Const SheetNamen = "Abgleich"
Const SuchSpalte = "B"

Const Suchtext = "LOP!K:K"

Sub copy()

Dim Text As Variant, Found As Boolean, i As Long, EndLine As Long, s As Integer

Sheets(SheetNamen).Activate

EndLine = Cells(Rows.Count, "A").End(xlUp).Row

Text = Split(Suchtext, ",")

For i = 1 To EndLine
If i > EndLine Then Exit For
Found = False
For s = 0 To UBound(Text)
If Cells(i, SuchSpalte) Like Trim(Text(s)) Then Found = True: Sheets("LOP").Range("A" & i & ":G" & i).Select
Selection.copy
Sheets(SheetNamen).Range("O:U").Paste Hier gibt er mir einen Laufzeitfehler aus
Next
If Found = False Then Exit For
Next
'
End Sub

Hoffe Ihr könnt mir helfen.
Vielen Dank im Vorraus.

Liebe Grüße
Tobi
Mitglied: 76109
16.03.2010 um 13:40 Uhr
Hallo arndttob!

Du kannst/darfst für Paste nur eine Zell-Adresse angeben z.B. Selection.Copy Range("A1:G1"), ...Range("O1").Paste

Du kannst es aber auch so machen:
01.
Sheets("LOP").Range("A" & i & ":G" & i).Copy destination:=Sheets(SheetNamen).Cells(i, "O")
Gruß Dieter

PS. Wenn ich das so auf den ersten Blick richtig sehe, dann hast Du Dir den Code irgendwie zusammenkopiert. Die Zeile mit "If i > EndLine Then Exit For" macht hier z.B. überhaupt keinen Sinn, sondern nur, wenn Zeilen gelöscht werden und sich dadurch die Letzte Zeile (EndLine) nach oben verschiebt. Und so auf den zweiten Blick, passt eigentlich garnichts zusammen
Bitte warten ..
Mitglied: arndttob
16.03.2010 um 14:57 Uhr
Hi Didi,

danke für deine Hilfe.

ja ich muss dir leider Recht geben, ich habe alles zusammengewürfelt, da ich mit selbst schreiben noch nicht so weit bin
Ich habe mir dein Script, welches du mir vor ca. 1 Woche gegeben hattest als Vorlage verwendet.

Mit der Zeile von dir, habe ich es nun auch ausprobiert. es gibt keinen Fehler und auch keine Ausgabe.
Ich glaub da liegt noch ein weiter Weg vor mir ^^

Danke&Gruß
Tobi
Bitte warten ..
Mitglied: 76109
16.03.2010 um 16:03 Uhr
Hallo Tobi!

Aja, kam mir doch gleich irgendwie bekannt vor

Und das es nicht funktioniert ist mir schon klar.

Habe ich das jetzt richtig verstanden, dass Du in der Tabelle "Abgleich" Spalte B eine Zahlenreihe hast und einen bestimmten Zahlenbereich mit Von und Bis vorgibst und innerhalb dieses Zahlenbereichs die Tabelle "LOP" Spalte K nach Übereinstimmung durchsuchen und wenn gefunden, dann die besagten Werte von Spalte A-G kopieren und in der Tabelle "Abgleich" ab Spalte O einfügen willst?

Gruß Dieter
Bitte warten ..
Mitglied: arndttob
16.03.2010 um 16:08 Uhr
Hi Dieter,

ja genau so hatte ich es vor, aber ich komme einfach nicht drauf.
Werd mir mal etwas Lektüre besorgen, damit ich auch hier etwas fit werde. :P

Vielen Dank für die Hilfe
Gruß
Tobi
Bitte warten ..
Mitglied: 76109
16.03.2010 um 16:43 Uhr
Hallo Tobi!

Hier mal ein Code zum Testen. Dieselmal sogar entgegen meiner Gewohnheit auch mal auskommentiert
01.
Option Explicit 
02.
Option Compare Text 
03.
 
04.
Const SheetHome = "Abgleich"    'Suchwerte Tabellenname 
05.
Const RangeHome = "B2:B"        'Suchwerte Zell-Teilbereich 
06.
Const SpalteHome = "B"          'Suchwerte Spalte 
07.
 
08.
Const SheetFind = "LOP"         'Suchen in Tabellenname 
09.
Const SpalteFind = "K"          'Suchen in Spalte 
10.
 
11.
Const Err1 = "Der vorgebene Zahlenbereich ist unzulässig!" 
12.
 
13.
Sub SearchAndCopy() 
14.
 
15.
    Dim Wks As Worksheet, c As Range, Found As Range, EndLine As Long, Von As Integer, Bis As Integer 
16.
     
17.
   'Abfrage-Boxen für Werte Von und Bis (Type 1 = Integer) 
18.
    Von = Application.InputBox("Bitte den Zahlenbereich [Von] angeben:", "Suchen Von", 1, Type:=1) 
19.
    Bis = Application.InputBox("Bitte den Zahlenbereich [Bis] angeben:", "Suchen Bis", 1, Type:=1) 
20.
     
21.
   'Prüfen auf Wert 0 (Abbrechen) und Prüfen Wert Von größer Bis 
22.
    If Von <= 0 Or Bis <= 0 Or Von > Bis Then MsgBox Err1, vbExclamation, "Fehler": Exit Sub 
23.
     
24.
   'Tabelle Abgleich aktivieren 
25.
    Sheets(SheetHome).Activate 
26.
     
27.
   'Tabelle "LOP" als Alias Wks festlegen 
28.
    Set Wks = Sheets(SheetFind) 
29.
     
30.
   'Letzte Zeile in Tabelle Abgleich Spalte B ermitteln 
31.
    EndLine = Cells(Rows.Count, SpalteHome).End(xlUp).Row 
32.
     
33.
   'Alle Zell-Objecte (c=Range) in Tabelle Abgleich Spalte B durchlaufen 
34.
    For Each c In Range(RangeHome & EndLine) 
35.
        
36.
       'Prüfen ob Zellinhalte im Bereich Von und Bis liegt 
37.
        If c >= Von And c <= Bis Then 
38.
            
39.
           'Wenn ja, dann in Tabelle "LOP" in Spalte K den Wert suchen 
40.
            Set Found = Wks.Columns(SpalteFind).Find(c, LookIn:=xlValues, LookAt:=xlWhole) 
41.
            
42.
           'Prüfen ob der Wert gefunden wurde 
43.
            If Not Found Is Nothing Then 
44.
                
45.
               'Wenn ja, dann in der Found-Zeile (Found=Range) Spalte A-G kopieren und in Tabelle Abgleich 
46.
               'Spalte O in aktueller Zeile einfügen 
47.
                Range(Wks.Cells(Found.Row, "A"), Wks.Cells(Found.Row, "G")).copy Destination:=Cells(c.Row, "O") 
48.
            End If 
49.
        End If 
50.
    
51.
   'Nächste Zelle bis Letzte Zelle erreicht ist 
52.
    Next 
53.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: Biber
16.03.2010 um 16:51 Uhr
[OT]
Moin didi1954,

Dieselmal sogar entgegen meiner Gewohnheit auch mal auskommentiert
Dafür, dass es nicht deinen Gewohnheiten entspricht, sieht es aber total routiniert und vorbildlich aus.

Richtig wie ein les- und wartbarer Code....

Danke!
wer oder was dich auch immer auf diese Idee gebracht hat

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: 76109
16.03.2010 um 17:00 Uhr
Hallo Biber!

[OT]
Ich hab's gewusst und extra noch überlegt, ob ich noch eine Anmerkung für Dich mit einfügen soll
[/OT]

Gruß Dieter

PS. Wer mich auf die Idee gebracht hat? Das habe ich irgendwie vergessen (Alzheimer und es wird von Tag zu Tag schlimmer)
Bitte warten ..
Mitglied: Biber
16.03.2010 um 17:08 Uhr
[OT ii]
Moin didi1954
(Alzheimer und es wird von Tag zu Tag schlimmer)
Denk einfach nicht dran...
[/OT ii]
Bitte warten ..
Mitglied: bastla
16.03.2010 um 17:15 Uhr
@76109
[auch OT]
(Alzheimer und es wird von Tag zu Tag schlimmer)
Woher weißt Du das?
[/auch OT]

Dein Code schaut jedenfalls nicht "zum Vergessen" aus ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
16.03.2010 um 18:08 Uhr
@bastla

[OT i++]
Zitat von bastla:
> (Alzheimer und es wird von Tag zu Tag schlimmer)
Woher weißt Du das?
Na, das merk ich z.B. wenn ich auf's Klo gehe und mir dann erst wieder einfällt, dass ich mir doch eigentlich einen Kaffee holen wollte. Oder wenn ich vor'm Geldautomaten stehe und die PIN-Nummer eingeben soll, die mir dann auch tatsächlich für einen Bruchtteil einer Sekunde gerade entfallen ist

Dein Code schaut jedenfalls nicht "zum Vergessen" aus ...
Ja, ich finde auch, dass es mit Kommantaren garnicht mal so schlecht aussieht, wenn auch vom Code nicht mehr so viel zu sehen ist
[/OT i++]

Gruß Dieter
Bitte warten ..
Mitglied: arndttob
16.03.2010 um 18:09 Uhr
wow ich weiss ganich was ich sagen soll,
vielen vielen Dank, dass du dir so viel Zeit für mich nimmst

und auch so viel zum lernen dabei ^^
werds morgen gleich mal testen.

vielen Dank!
Bitte warten ..
Mitglied: 76109
16.03.2010 um 18:15 Uhr
Hallo Tobi!

Zitat von arndttob:
wow ich weiss ganich was ich sagen soll,
vielen vielen Dank, dass du dir so viel Zeit für mich nimmst
Am besten erstmal garnix sagen und erstmal testen
und auch so viel zum lernen dabei ^^
Ja, auf jedenfall weißt Du jetzt schon mal, wie man einen Code Formgerecht auskommentiert
vielen Dank!
Yepp gern geschehen

Gruß Dieter
Bitte warten ..
Mitglied: arndttob
17.03.2010 um 12:49 Uhr
Hi Dieter,

habe es nun testen können.
Funktioniert alles wie am Schnürchen.

Nun brauch ich mich nicht mehr durch die Tabellen wühlen, ewig rumkopieren und sortieren.

Vielen vielen Dank nochmal für deine Hilfe, du hast mir sehr geholfen

Grüße
Tobi
Bitte warten ..
Mitglied: 76109
17.03.2010 um 18:11 Uhr
Hallo Tobi!

Freut mich, dass es funktioniert

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel Spalte nach Wort durchsuchen
gelöst Frage von pcklickMicrosoft Office2 Kommentare

Hallo liebe Admins! Ich habe ein Problem: Und zwar möchte ich eine Excel-Spalte nach einem Wort durchsuchen, bzw. zählen ...

Microsoft Office

Excel: Wenn Wert in Spalte A dann kopiere Zeile

gelöst Frage von michi1983Microsoft Office8 Kommentare

Hallo Admins, ich bräuchte mal eure Unterstützung in Sachen Excel. Da bin ich nämlich leider ein kompletter noob. Ich ...

Microsoft Office

Excel mehrere Spalten durchsuchen und in einer neuen Spalte ordnen

gelöst Frage von Wolf6660Microsoft Office2 Kommentare

Hi, ich habe folgendes Problem: ich habe eine Liste mit mehreren Spalten in denen der Name eines Benutzers aufgelistet ...

VB for Applications

Jede Zeile einer Textdatei bis zum Trennzeichen durchsuchen

gelöst Frage von karolsonVB for Applications6 Kommentare

Hallo an alle, Ich möchte mit VBA eine 50MB große Textdatei nach einer Zeichenkette durchsuchen und einige Begriffe aus ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 2 TagenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

Netzwerkmanagement
Netzwerkmanagment im Haus mit Switch, Panel und pfsense
gelöst Frage von CorraggiounoNetzwerkmanagement13 Kommentare

hi zusammen, wir sind gerade dabei das ganze Haus bzw. die einzelnen Zimmer mit netzwerkdosen zu versorgen. Vom Keller ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware12 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...

Google Android
Empfehlung: Android Ortungsapp
gelöst Frage von certifiedit.netGoogle Android12 Kommentare

Guten Morgen, grundsätzlich vorweg, ich wollte mich eben schlau machen, bzgl einer Ortungsapp, welche Androidbasiert einem anderen Androidsmartphone mitteilt, ...