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

String von Zelle zu vorherigen Zelle hinzu fügen

Frage Microsoft Microsoft Office

Mitglied: Shaggy84

Shaggy84 (Level 1) - Jetzt verbinden

14.03.2008, aktualisiert 18.03.2008, 5008 Aufrufe, 7 Kommentare

Hallo,

habe mnal wieder ein kleines VBA Problem. Es sollen zwei Zellen verglichen werden. Wenn die Folgezelle das gleiche enthält wird sie ignoriert und eh gelöscht. Wenn sie einen anderen Wert enthält, soll dieser bevor die Zeile gelöscht wird, zur ersteren Zelle hinzugefügt werden.

Direkt die Frage. Ich benutze hier <> in der dritten Zeile, wie lautet der Befehl für "Zelle enthält" bzw. "Zelle enthält nicht"? Sonst entstehen ja Duplikate, obwohl der String schon in der Zelle existiert... und mein Add Befehl funktioniert leider auch noch nicht...

01.
Worksheets(1).Activate 
02.
 
03.
Zeile = 1 
04.
Do While Cells(Zeile, 1).Value <> "" 
05.
 
06.
If Cells(Zeile, 2).Value <> Cells(Zeile + 1, 2).Value Then 
07.
    Cells(Zeile, 2).Add (Cells(Zeile + 1, 2).Value) 
08.
    Zeile = Zeile + 1 
09.
Else 
10.
    Zeile = Zeile + 1 
11.
End If 
12.
     
13.
Loop
Grüße, Gregor
Mitglied: bastla
15.03.2008 um 14:58 Uhr
Hallo Shaggy84!

Das sollte etwa so gehen:
01.
... 
02.
If Not InStr(1, Cells(Zeile, 2).Value, Cells(Zeile + 1, 2).Value, vbTextCompare) Then 
03.
    Cells(Zeile, 2).Add (Cells(Zeile + 1, 2).Value) 
04.
...
Das "VbTextCompare" sorgt dafür, dass Unterschiede hinsichtlich Groß-/Kleinschreibung ignoriert werden - wenn Du einen genauen Vergleich willst, einfach weglassen.

Grüße
bastla
Bitte warten ..
Mitglied: Shaggy84
17.03.2008 um 08:41 Uhr
Hallo bastla,

deine erste Zeile funktioniert soweit gut. Aber meine zweite die hier auch steht funktioniert leider nicht. Als Fehlermeldung bekomme ich "Objekt unterstützt diese Eigenschaft oder Methode nicht" (wie so oft ;) )

War der Ansatz mit dem .Add richtig oder gibts dafür was anderes? Kann man noch einen "/" zwischen zwei Werte setzen?

Grüße, Gregor
Bitte warten ..
Mitglied: bastla
17.03.2008 um 09:18 Uhr
Hallo Shaggy84!

Um die beiden Strings miteinander zu verbinden, wird in VB "&" verwendet, daher:
01.
If Not InStr(1, Cells(Zeile, 2).Value, Cells(Zeile + 1, 2).Value, vbTextCompare) Then 
02.
    Cells(Zeile, 2).Value = Cells(Zeile, 2).Value & "/" & Cells(Zeile + 1, 2).Value
Grüße
bastla
Bitte warten ..
Mitglied: Shaggy84
17.03.2008 um 13:38 Uhr
Hallo bastla,

des funktioniert soweit leider nur halb. Er schreibt mir die Werte trotzdem noch doppelt in die Zelle, obwohl ich deinen Programmcode ebenfalls so verstehe, dass er funktionieren müsst. Vergleicht er vielleicht immer nur den gesamten String oder auch Teilwerte des Strings?!

Als Ergebnis bekomme ich im moment noch Wert1/Wert1/Wert2/Wert1/Wert2 usw. anstatt Wert1/Wert2

Grüße
Bitte warten ..
Mitglied: bastla
17.03.2008 um 14:11 Uhr
Hallo Shaggy84!

Andere Schreibweise:
01.
If InStr(1, Cells(Zeile, 2).Value, Cells(Zeile + 1, 2).Value, vbTextCompare) = 0 Then 
02.
    Cells(Zeile, 2).Value = Cells(Zeile, 2).Value & "/" & Cells(Zeile + 1, 2).Value
Grüße
bastla
Bitte warten ..
Mitglied: Shaggy84
18.03.2008 um 10:36 Uhr
Hey bastla,

funktioniert soweit wunderbar. Die Verneinung im Code mit "Not" und dann mit "=0" am Anfang, glaub da wäre ich auf letzteres nie gekommen.

Vielen Dank nochmals! Gibt's diesmal nen Martini °>-0
Bitte warten ..
Mitglied: bastla
18.03.2008 um 10:45 Uhr
Hallo Shaggy84!

Gibt's diesmal nen Martini °>-0
Bevor Du Deine ganze (virtuelle) Hausbar über mir entleerst : So ziemlich die einzige Form von Alk, die ich zu mir nehme, ist Rum (und den nur in einem Kuchen) - aber trotzdem danke.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VBA - Welchen Inhalt hat eine Zelle die mit der Taste Enft geleert wird? (3)

Frage von Juckie zum Thema VB for Applications ...

Visual Studio
gelöst DotNet String Sortierung (5)

Frage von emeriks zum Thema Visual Studio ...

Batch & Shell
gelöst Powershell select-string -pattern (2)

Frage von LianenSchwinger zum Thema Batch & Shell ...

Batch & Shell
String Zeichenpaare auslesen und bearbeiten (6)

Frage von ahstax zum Thema Batch & Shell ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...