Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
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

Zelleninhalt auslesen, suchen und bearbeiten

Zelleninhalt auslesen, suchen und bearbeiten
07.08.2018 13:53:39
spezi
Hallo Zusammen,
ich habe eine Dropdown-Liste in Zelle F7 mit verschiedenen Maschinen. Maschine 1,2,3.
Maschine 1 steht nochmals in der Zelle A2
Maschine 2 steht nochmals in der Zelle A3
Maschine 3 steht nochmals in der Zelle A4
Nun will ich das er die Zelle F7 ausliest ( ob Maschine 1,2,3) , diesen Wert nimmt und danach im Tabellenblatt danach sucht.
Wenn gefunden dann in die Nachbarzelle "gecheckt" reinschreiben.
Bsp. in der Dropdownliste F7 wird die Maschine 2 angewählt. Dann soll er nach der Maschine 2 suchen, in diesem Fall steht sie in der Zelle A3, dann in die Nachbarzelle B3 gecheckt eintragen.
Ich würde das gerne mit VBA lösen wollen.

Ich hoffe das ist verständlich genung.
Grüße und Danke

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt auslesen, suchen und bearbeiten
07.08.2018 13:59:34
Hajo_Zi
Wenn(Fehler(F7;Tabelle1(A:F;Spalte();2)

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Spalte()-4
07.08.2018 14:00:48
Hajo_Zi
Gruß Hajo
AW: Zelleninhalt auslesen, suchen und bearbeiten
07.08.2018 14:05:54
Michael
Hallo!
Sub a()
Dim f As Range
With ActiveSheet
Set f = .UsedRange.Find(what:=.Range("F7"), LookIn:=xlValues, lookat:=xlWhole)
If Not f Is Nothing Then f.Offset(, 1) = "gechecked"
End With
End Sub
LG
Michael
AW: Zelleninhalt auslesen, suchen und bearbeiten
07.08.2018 15:25:42
spezi
Vielen Dank Michael,
funktioniert super:)
Könntest du evt. noch Kommentare einfügen was in jedem Schritt passiert?
Dient nur zum Verständnis für mich.
Vielen Dank!!!
Grüße
Anzeige
AW: Zelleninhalt auslesen, suchen und bearbeiten
07.08.2018 15:53:42
Michael
Hallo!
Kommentare bei einem 5-Zeiler, ist das Dein Ernst? Aber ja, klar, kann ich:
Sub a()
Dim f As Range 'Variablendeklaration
'im aktiven Tabellenblatt
With ActiveSheet
'der Variablen "f" eine Zell-Fundstelle als Zell-Ort (Range) zuweisen
'vgl. mit der Excel-Suche über Strg + [f]
'Gesucht wird der Zell-Wert aus Zelle F7 im gesamten "verwendeten Bereich"
'des aktiven Tabellenblattes
Set f = .UsedRange.Find(what:=.Range("F7"), LookIn:=xlValues, lookat:=xlWhole)
'Wenn f tatsächlich eine Fundstelle ist, also der Wert aus F7 in einer
'anderen Zelle gefunden wird (vgl. Excel-Suche die erste Fundstelle)
'dann wird die Zelle ein Spalte rechts davon (=.Offset(Zeile, Spalte) hier also
'.Offset(,1) = .Offset(0,1)) mit dem Wort gefüllt/überschrieben.
If Not f Is Nothing Then f.Offset(, 1) = "gechecked"
End With
End Sub
Das ist ja mehr Kommentar als Code, und den Code kann man schon nachvollziehen, oder?! ;-)
LG
Michael
Anzeige
AW: Zelleninhalt auslesen, suchen und bearbeiten
07.08.2018 15:58:55
spezi
Vielen Dank Michael!!!
:))
AW: Gern, Danke für die Rückmeldung, owT
07.08.2018 16:13:19
Michael
AW: Zelleninhalt auslesen, suchen und bearbeiten
07.08.2018 22:42:51
Gerd
'N Abend,
wenn der Suchbegriff nicht in Spalte A steht, dann wird er im Zweifel in F7 gefunden u. in G7 "gechecked" geschrieben.
Den UsedRange sollte man auf Columns("A") einschränken.
Gruß Gerd
AW: Stimmt schon...
08.08.2018 08:35:59
Michael
...aber auch bei der "fortlaufenden" Eintragung von "gechecked" in der Zeile könnte man verbessern. Im ganzen Satz also:
Sub a()
Dim f As Range, fO As Range
With ActiveSheet
Set f = .Columns(1).Find(what:=.Range("F7"), LookIn:=xlValues, lookat:=xlWhole)
If Not f Is Nothing Then
Set fO = .Cells(f.Row, .Columns.Count).End(xlToLeft)
If fO = f Then
f.Offset(, 1) = "gechecked"
Else:
fO.Offset(, 1) = "gechecked"
End If
End If
End With
Set f = Nothing: Set fO = Nothing
End Sub
LG
Michael
Anzeige
AW: Zelleninhalt auslesen, suchen und bearbeiten
07.08.2018 16:12:37
spezi
Hi Michael,
noch eine kurze Frage,
wie sieht der Code aus wenn ich will das er fortlaufend "gecheckt" schreiben soll.
Also wenn in der Spalte B2 schon etwas steht soll er in C2 weiter schreiben.
Vielen Dank!
Grüße
AW: Dann
07.08.2018 16:15:38
Michael
...so
Sub a()
Dim f As Range
With ActiveSheet
Set f = .UsedRange.Find(what:=.Range("F7"), LookIn:=xlValues, lookat:=xlWhole)
If Not f Is Nothing Then f.End(xlToRight).Offset(, 1) = "gechecked"
End With
End Sub
LG
Michael
AW: Dann
08.08.2018 08:49:48
spezi
vielen dank Michael!!!:))
AW: Gern, siehe auch meine AW an Gerd, owT
08.08.2018 11:34:31
Michael
AW: Gern, siehe auch meine AW an Gerd, owT
08.08.2018 12:00:35
spezi
sorry ich nochmal...
danke hab ich gesehen.
ich habe ein kleines Problemchen...
Alles bleibt gleich nur jetzt wil ich das er das "gecheckt" nicht in die Nachbarzelle schreibt sondern eine Zelle runter und eine nach Rechts ...
ich weis ich nerve aber hoffe auf deine Antwort:)
Grüße
Anzeige
AW: Wozu hab ich denn dann den Code kommentiert?
08.08.2018 14:00:45
Michael
Du Spezi...
das war ja sogar Deine Erfordernis, damit Du dann weißt, wie alles funktioniert und Du ggf. anpassen kannst. Wozu hab ich also den Code kommentiert, wenn Du Dir das nicht durchliest?
Für Deine unterschiedlichen Anforderungen ist einzig das Offset interessant. Das Offset bezieht sich immer auf die Fundzelle und verschiebt jene um Zeilen und oder Spalten:
f.Offset(, 1) = "gechecked"
Das Muster ist immer .Offset(Zeilen, Spalten) - positive Werte verschieben nach unten und rechts, negative Werte nach oben und links. Klar? Einfach ausprobieren oder nicht nach kommentierten Codes fragen... ;-)
LG
Michael
Anzeige
AW: Wozu hab ich denn dann den Code kommentiert?
08.08.2018 14:38:36
spezi
Hallo Michael,
das hab ich ja nun verstanden.....
Ich habe einen neuen Beitrag verfasst, vll verstehst du dann meine Problematik.....
Sorry nochmal...
"neuer Beitrag"
Hallo Zusammen,
ich hoffe hier gibt es Excel-Profis für meinen Fall..
Hier findet ihr die Excel Datei, um die Problematik besser zu verstehen...
ich hoffe ihr könnt mir helfen...
https://www.herber.de/bbs/user/123206.xlsx
Also,
ich habe eine Dropdown-Liste in der Zelle B26 mit verschiedenen Maschinen. Maschine 1,2,3.
Maschine 1 steht nochmals in der Zelle A5
Maschine 2 steht nochmals in der Zelle A9
Maschine 3 steht nochmals in der Zelle A13
Diese Maschinen haben jeweils drei Module--Arm,Board und Kopf die jeweils in verschiedenen intervallen justiert werden müssen.
Arm alle 90 tage
Kopf alle 180
Board alle 365
Ich habe ebenso 3 Schaltflächen mit Arm ,Board und Kopf.
Nun will ich , dass wenn ich die Schaltfläche Arm drücke, er die Zelle B26 ausliest ( ob Maschine 1,2,3) , die Maschine und das richtige Modul sucht und das nächste Justierdatum einträgt ( z.B heutige Datum + 90 Tage )
Bsp. in der Dropdownliste B26 wird die Maschine 2 angewählt. Nun wird die Schaltfläche "Arm" gedrückt. Nun soll bei der Maschine 2 , beim Modul Arm das nächste Justierdatum eingetragen werden. Die Eintragungen müssen fortlaufend sein, also nicht überschreiben. Bei jedem Mal drücken soll er es eine Zelle weiter rechts rein schreiben.
Ich hoffe das ist verständlich genung.
Vielen Dank!!!
Grüße
Anzeige
Du hast AW im neuen Beitrag, ich bin raus!
08.08.2018 16:12:01
Michael

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige