Anzeige
Archiv - Navigation
1576to1580
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
Inhaltsverzeichnis

Tabelle durchsuchen

Tabelle durchsuchen
25.08.2017 01:17:35
Alex
Hallo,
ich stehe voll auf dem Schlauch. Ich muss eine Tabelle von
B8 bis F29 durchlaufen und die Werte vergleichen. Ich wollte das eigentlich mit
ActiveCell.Offset(0, 1).value
und
ActiveCell.Offset(1, 0).value
machen.
Userbild
Aber der sucht mir die Werte immer irgendwo in der Walachei.
Kann mir da bitte jemand helfen?
Danke

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle durchsuchen
25.08.2017 05:42:21
Hajo_Zi
Du hast keinen Vergleich.
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Schau mal hier
Eine hochgeladene Arbeitsmappe bzw. ein geposteter Tabellenausschnitt dagegen, erhöhen die Wahrscheinlichkeit, dass Du eine Lösung für Dein Problem erhältst.
Erstelle folglich bitte eine Demomappe, aus der deine Aufgabenstellung klar erkennbar ist und lade diese hoch oder benutze ein Tool zur Tabellenanzeige.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, solltest du diese Daten anonymisieren bzw. pseudonymisieren.
Falls Du den Download des Forums nicht benutzen möchtest beachte bitte: von unsicheren Servern file-upload lade ich keine Datei herunter (lt. Einschätzung meines Virenprogramms).

Jul 2014
 C
29Falsch
30496

verwendete Formeln
Zelle Formel Bereich N/A
C29=C27=C28  
C30=SUMMEWENN([Bildschirm.xlsm]Statistik!$Q$44:$Q$54;"<" &HEUTE();[Bildschirm.xlsm]Statistik!$R$54)  
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 18.07 einschl. 64 Bit



Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung. o.w.T."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Anzeige
AW: Tabelle durchsuchen
25.08.2017 06:11:00
Werner
Hallo Alex,
kein Mensch hat eine Ahnung davon was du vor hast. Du willst Werte vergleichen, verrätst aber nicht welche Werte verglichen werden sollen.
Also auch nur allgemein:
Public Sub Vergleich()
Dim raBereich As Range
Dim raZelle As Range
Set raBereich = Worksheets("Tabelle1").Range("B8:C9")
For Each raZelle In raBereich
MsgBox "Du bist in Zelle  " & raZelle.Address(0, 0)
MsgBox "Zelle darüber ist  " & raZelle.Offset(-1, 0).Address(0, 0)
MsgBox "Zelle links davon ist  " & raZelle.Offset(0, -1).Address(0, 0)
MsgBox "Zelle rechts davon ist  " & raZelle.Offset(0, 1).Address(0, 0)
MsgBox "Zelle darunter ist  " & raZelle.Offset(1, 0).Address(0, 0)
Next raZelle
End Sub
Durchläuft den Bereich B8 bis C9 von links oben nach rechts unten. Zugriff auf die Nebenzellen hast du dann mit Offset.
Gruß Werner
Anzeige
AW: Tabelle durchsuchen
25.08.2017 08:49:57
Piet
Hallo Alex,
bitte verrate uns doch mal zuerst welche Werte du vergleichen willst. Den Wert der aktuellen Zelle mit dem Wert der Zelle rechts daneben? Und wenn es Unterschiede gibt, was soll dann geschehen? Eine Msgbox erscheinen mit "Fehler", oder eine Liste erstellen?
Das ist im Augenblick alles zu ungenau um da gezielt helfen zu können.
mfg Piet
AW: Tabelle durchsuchen
25.08.2017 10:55:04
Alex
Hallo,
Ihr habt natürlich Recht. Ich habe zu wenig Infos gegeben, um eine um Vernünftige Lösung erhalten.
Das war mein Fehler. Sorry.
Ich versuche es jetzt mal nach dem ich ein paar Stunden geschlafen habe.
Im Anhang eine Testtabelle.
https://www.herber.de/bbs/user/115743.xlsm
Ich habe 3 Tabellen
In der Tabelle Kunden stehen meine Kunden drin.
Wichtige Felder:
Kundennummer (Spalte A)
Name (Spalte B)
PLZ (Spalte E)
Ort (Spalte F)
In der Tabelle AWF stehen von AA bis AE Besuchstermine
Wichtige Felder:
Kundennummer (Spalte AA)
Besuchstermin (Spalte AB)
Uhrzeit(Spalte AE)
In der Tabelle KAL ist ein Kalender
In diesem Kalender sollen die Besuchstermine eingetragen werden
Dazu müssen die Besuchstermine aus Tabelle AWF mit den Spalten Besuchstermin und Uhrzeit mit dem Kalender B6:F6 (Datum) und A9:A29 (Zeit) verglichen werden.
Passt ein Besuchstermin soll dieser entsprechend im Kalender eingetragen werden.
Im Eintrag soll aber auch die enstprechende Kundennummer, Name, PLZ und Ort aus der Tabelle Kunden mit rein.
KdNr.: 3, Name 4
44444 Ort 4"
Ich hoffe das das alle nötigen Infos sind.
Vielen Dank nochmal für die Hilfe
Anzeige
AW: Tabelle durchsuchen
25.08.2017 15:18:24
Piet
Hallo Alex
anbei ein Code der in ein normales modul kopiert werden muss. Im CommandButton Modul dem Button dieses Makro zuweisen mit: Call Kalender_ausfüllen - Es sollte laufen, ist getestet.
Ich gehe davon aus das beim neu befüllen die alten Daten gelöscht werden sollen. Ist eine Zelle bereits belegt kommt eine Warnung und kein Eintrag in diese Zelle! Im Programm gibt es mehrer Prüfungen, ob die Kunden Nr. immer gefunden wird, oder wenn Datum/ Zeit nicht mit dem Kalender übereinstimmt. Das muss du dann manuell prüfen.
Würde mich freuen wenn das Makro so bracubar ist.
mfg Piet
Option Explicit      '25.8.2017  Piet  Herber Forum
Dim AC As Range, AJ As Range
Dim zKd As Long, Txt As String
Dim sp As Integer, ze As Integer
Dim Tag As Date, Zeit As Variant
'Modul für Kalender ausfüllen
Sub Kalender_ausfüllen()
Dim Kd As Worksheet, lzKd As Long
Dim AWF As Worksheet, lzAw As Long
Set AWF = Worksheets("AWF")
Set Kd = Worksheets("Kunden")
'LastZell in Kunden + AWF ermitteln
lzKd = Kd.Range("A1").End(xlDown).Row
lzAw = AWF.Range("AA1").End(xlDown).Row
Worksheets("Kal").Select
With Worksheets("Kal")
'alte Kalender Daten löschen
.Range("B9:F29").ClearContents
For Each AC In AWF.Range("AA2:AA" & lzAw)
Tag = AC.Offset(0, 1).Value
Zeit = AC.Offset(0, 4).Value
zKd = Empty  'Kunden-Nr löschen
'Kunden Zeile in "Kunden" Sht suchen
For Each AJ In Kd.Range("A2:A" & lzKd)
If AC.Value = AJ.Value Then zKd = AC.Row
Next AJ
'akt. Tag in Kalender Spalten suchen
For sp = 2 To 7
If .Cells(6, sp) = Tag Then Exit For
Next sp
'Uhrzeit in Kalender Zeilen suchen
For ze = 9 To 30
If .Cells(ze, 1) = Zeit Then Exit For
Next ze
'Fehlermeldung wenn Kunden-Nr in "Kunden" Blatt nicht gefunden wird !!
If zKd = Empty Then MsgBox AC.Value & "  Kunden Nr in 'Kunden' Blatt nicht gefunden !!": _
: GoTo nxt
'Fehlermeldung wenn Tag/Zeit im Kalender nicht gefunden wird !!
If sp = 7 Then MsgBox Tag & "  Tag im Kalender nicht gefunden !!": GoTo nxt
If ze = 30 Then MsgBox Zeit & "  Zeit im Kalender nicht gefunden !!": GoTo nxt
'Text String für Eintrag in kalender (oder Fehlermeldung)
Txt = AC.Value & " " & Kd.Cells(zKd, 2) & " " & Kd.Cells(zKd, 3)
If .Cells(ze, sp) = "" Then
'Text String in Kalender eintragen
.Cells(ze, sp) = Txt
Else  'Zelle schon belegt:
.Cells(ze, sp).Select
MsgBox "Zelle bereits belegt" & vbLf & "neuer Kunde:" & vbLf & Txt
End If
nxt:
Next AC
End With
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige