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 Schleife mit find

Mitglied: Philippe-M

Philippe-M (Level 1) - Jetzt verbinden

29.09.2009, aktualisiert 13:28 Uhr, 3475 Aufrufe, 4 Kommentare

Hallo zusammen,

ich möchte aus zwei Registern Daten auslesen.

Also im ersten register1 steht zum Beispiel:
Key 
hker 
ewrwe 
ccc 
dsfrewr 
zzz 
ggg
Im zweiten register2
Key	Text 
123	zuzuz 
dddd	jkjk 
fff	sss 
ccc	ssssss 
zzzz	ggg 
zzz	jkhkg 
ggg	mmm
Es soll nun die Textzeile im register2 zu den jeweiligen Keynamen im register1 kopiert werden.

Sie soll am Schluss so aussehen:
Key		 
hker	Keine Daten vorhanden	 
ewrwe	Keine Daten vorhanden	 
ccc	Daten vorhanden	ssssss 
dsfrewr	Keine Daten vorhanden	 
zzz	Daten vorhanden	jkhkg 
ggg	Daten vorhanden	mmm
Das funktioniert auch soweit. Das Problem ist nur, dass ich folgendes Ergebnis bekomme:

Key		 
hker	Keine Daten vorhanden	 
ewrwe	Keine Daten vorhanden	 
ccc	Daten vorhanden	sss 
dsfrewr	Keine Daten vorhanden	 
zzz	Daten vorhanden	ggg 
ggg	Daten vorhanden	jkhkg
Also eine Zeile verschoben.

Des weiteren möchte ich nicht das ganze Dokument durchsuchen.
Das verschieben der Zeile hat glaube ich mit der wenn-Formel zu tun. Die nimmt einen Falschen wert. Wie kann ich die Wenn-Formel umschreiben, damit ich dann den Wert, der neben dem gleichen Key steht bekomme?

So sieht ein Teil meines Scriptes aus:

Sub Makrosuche()

Dim wsnew As Worksheet
Dim wsnew2 As Worksheet

Dim bereichblatt2 As Range
Dim suchwert As String
Dim SpalteA As Long
Dim hochzaehlen As Long


'Name der 1.Tabelle,
Sheets(1).Name = "zusammengefügt"
Sheets(2).Name = "unsortiert"
Sheets(1).Select
Set wsnew = ActiveWorkbook.Sheets("zusammengefügt")

'Spalte vom Text
SpalteA = 1

'Name der 2.Tabelle
Set wsnew2 = ActiveWorkbook.Sheets("unsortiert")




'
' Schleife beginnt
'




For hochzaehlen = 2 To wsnew.Cells(wsnew.Rows.Count, 1).End(xlUp).Row
suchwert = wsnew.Cells(hochzaehlen, SpalteA)




Set bereichblatt2 = wsnew2.Cells.Find(What:=suchwert, LookIn:=xlValues, LookAt:=xlPart)



If Not bereichblatt2 Is Nothing Then
wsnew.Cells(hochzaehlen, SplateA + 2) = "Daten vorhanden"



Else
wsnew.Cells(hochzaehlen, SplateA + 2) = "Keine Daten vorhanden"
End If


'
' Wenn-Formel
'



Range("C2").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-1]=""Daten vorhanden"",unsortiert!RC[-1],"""")"
Selection.AutoFill Destination:=Range("C2:C7"), Type:=xlFillDefault
Range("C2:C7").Select


Next hochzaehlen




Sheets(1).Select
Range("A10").Select

'
' Datenblatt verstecken
'
'Sheets("unsortiert").Visible = xlVeryHidden



'
' Makro löschen
'
'Set VBComp = ThisWorkbook.VBProject.VBComponents("Modul1")
'ThisWorkbook.VBProject.VBComponents.Remove VBComp



End Sub

















Habt ihr eine Idee?

Vielen Dank im voraus
Mitglied: 76109
29.09.2009 um 13:58 Uhr
Hallo Philippe_M!

Die Suchfunktion funktioniert in etwa so:
01.
Sub test() 
02.
    Set ws1 = Sheets(1) 
03.
    Set ws2 = Sheets(2) 
04.
 
05.
    For i = 2 To ws1.Cells(ws1.Rows.Count, 1).End(xlUp).Row 
06.
        Set Found = ws2.Range("A:A").Find(What:=ws1.Cells(i, 1), LookIn:=xlValues, LookAt:=xlWhole) 
07.
     
08.
        If Found Is Nothing Then 
09.
            ws1.Cells(i, 2) = "Keine Daten vorhanden" 
10.
        Else 
11.
            ws1.Cells(i, 2) = "Daten vorhanden":  ws1.Cells(i, 3) = Found.Offset(0, 1) 
12.
        End If 
13.
    Next 
14.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: Philippe-M
29.09.2009 um 14:27 Uhr
Hallo Dieter,

dein script funktioniert auch. Vielen dank dafür. Weißt du vielleicht auch, wie ich es schaffe, dass falls Daten vorhanden sind, er diese auf das ws1 übernimmt?

Also zum Beispiel:

ws1
A1 B2
aaa

ws2
A1
zzz skldjas
aaa Hallo

Ich will jetzt in ws1 nach der Info Daten vorhanden diesen Wert (aaa) stehen haben. Ich hab das mit der wenn-Formel versucht. Leider geht das nur, wenn der wert auch in der gleichen Zelle wie in ws1 steht.

Dank nochmal im voraus
Bitte warten ..
Mitglied: Philippe-M
29.09.2009 um 14:29 Uhr
Sorry Dieter,

das war ja schon mit drin.

Danke
Bitte warten ..
Mitglied: 76109
29.09.2009 um 14:55 Uhr
Hallo Philippe_M!

Danke, dann bin ich ja beruhigt

Ich habe Den Text X-mal durchgelesen und dachte ich steh im Wald.

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Einen String in einer TXT finden, nur einen Teil als Variable setzen, FOR Schleife in FOR Schleife

gelöst Frage von KriegstreiberBatch & Shell3 Kommentare

Guten Abend alle miteinander, nunja wenn ich hier die Sufu nutze findet man etliches zu dem Thema, aber ich ...

PHP

Zweispaltige Tabelle mit while-schleife erzeugen. finde meinen fehler nicht

gelöst Frage von LordKimahriPHP3 Kommentare

Ich versuche derzeit eine 2 Spaltige dynamische Tabelle mittels PHP zu erzeugen. Leider gibt mir mein bisheriger Code nur ...

Batch & Shell

Batch Schleife als FOR-SCHLEIFE

gelöst Frage von mp2711Batch & Shell2 Kommentare

Mit den FOR-Schleifen habe ich mich leider bislang zu selten auseinander gesetzt, aber da ich sonst gerade nicht weiter ...

Microsoft Office

Vereinfachen einer Schleife

Frage von Jens1975Microsoft Office1 Kommentar

Hallo, ich bin neu und versuche mich jetzt mit VBA Ich möchte die Funktion Autofill durch eine Schleife ersetzen. ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 1 TagWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 1 TagSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 2 TagenDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein interessanter Beitrag dazu: Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10 Anscheinend ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 2 TagenSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
DSL, VDSL
Mindestgeschwindigkeiten DSL Telekom
Frage von justlukasDSL, VDSL14 Kommentare

Hallo zusammen, Seit diesem Jahr habe ich Verständnisprobleme mit dem Verhalten der Telekom. Wir haben seit einem Jahr VDSL ...

Switche und Hubs
LANCOM-Switch: Probleme (no link) mit SFP-Modulen?
Frage von THETOBSwitche und Hubs11 Kommentare

Hi zusammen, ich habe folgendes Problem: Und zwar habe ich an einem Standort drei Switche verbaut - LANCOM GS-2326P+, ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)11 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall10 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...