Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Range nach best. Zellinhalt definieren

Forumthread: Range nach best. Zellinhalt definieren

Range nach best. Zellinhalt definieren
20.10.2020 13:46:22
Christoph
Hallo zusammen,
ich habe für mein Problem bisher trotz Suche keine Lösung gefunden. Also ich fange mal an was ich benötige:
ich habe mir ein Funktion geschrieben/zusammenkopiert, welche eine txt-datei importiert. Soweit so gut. Nun musste ich feststellen, dass die txt-dateien welche ich bekomme darin unterscheiden können, dass gewisse Werte nicht in Spalte 3 sondern in Spalte 4 stehen (nur beispielhaft). Ich habe als nun Makros, die auf eine gewisse Zelle bzw. Zellbereiche fixiert sind.
Z.B führe ich folgenden Code aus: ##### DTCbuffer ######
Sheets("Allgemein").Select
Range("B127").Select
Selection.TextToColumns Destination:=Range("B127"), DataType:=xlFixedWidth _
, FieldInfo:=Array(Array(0, 1), Array(5, 1), Array(11, 1), Array(17, 1), Array(23, 1), _
Array(29, 1), Array(35, 1), Array(41, 1), Array(47, 1), Array(53, 1), Array(59, 1), Array( _
65, 1), Array(71, 1), Array(77, 1), Array(83, 1), Array(89, 1), Array(95, 1), Array(101, 1), _
Array(107, 1), Array(113, 1), Array(119, 1), Array(125, 1), Array(131, 1), Array(137, 1), _
Array(143, 1), Array(149, 1), Array(155, 1), Array(161, 1), Array(167, 1), Array(173, 1), _
Array(179, 1), Array(185, 1), Array(191, 1), Array(197, 1), Array(203, 1), Array(209, 1), _
Array(215, 1), Array(221, 1), Array(227, 1), Array(233, 1), Array(239, 1), Array(245, 1), _
Array(251, 1), Array(257, 1), Array(263, 1), Array(269, 1), Array(275, 1), Array(281, 1), _
Array(287, 1), Array(293, 1), Array(299, 1), Array(305, 1), Array(311, 1), Array(317, 1), _
Array(323, 1), Array(329, 1), Array(335, 1), Array(341, 1), Array(347, 1), Array(353, 1), _
Array(359, 1), Array(365, 1), Array(371, 1), Array(377, 1), Array(383, 1), Array(389, 1), _
Array(395, 1), Array(401, 1), Array(407, 1), Array(413, 1), Array(419, 1), Array(425, 1), _
Array(431, 1), Array(437, 1)), TrailingMinusNumbers:=True
Hier ist die Zelle B127 dann fix, sollte sich aber der Wert in Zeile 128 verschieben, da in der txt eine zusätzliche Zeile eingefügt ist, dann geht es ´logischer weise nicht.
Ich hätte nun gerne, dass die Spalte A in eine gewissen Range nach einem Wert sucht, in diesem spezifischen Fall "DtcBuffer" und dann in der dazugehörigen B Zelle, als z.B. dtc buffer steht in Zelle A130 dann soll oben ausgeführter Code in Zelle B130 ausgeführt werden.
Ich hoffe ich konnte mein Problem verständlich rüberbringen?! Velen Dank schonmal vorab für eure Mühen und ja auch der Code oben ist bestimmt verbesserungwürdig, bin halt ein Rookie....
Gruß
Christoph
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Range nach best. Zellinhalt definieren
20.10.2020 19:06:44
ChrisL
Hi Christoph
Wenn ich richtig verstehe, kannst du den Suchvorgang aufzeichnen.
Tabelle aktivieren
Ctrl+F
Cursor springt nach A127, A128, A129, A130...
Pfeiltaste nach rechts
Code ausführen, wobei die fixe Ziel-Range ebenfalls durch Selection zu ersetzen ist:
Selection.TextToColumns Destination:=Selection, DataType:=...
Falls die Annahme stimmt, könnte man ggf. darauf aufbauen u.a. Select/Activate raus und Fehlerhandling, wenn nichts gefunden wird.
cu
Chris
Anzeige
AW: Range nach best. Zellinhalt definieren
21.10.2020 07:18:36
Christoph
Hallo Chris,
danke für den Hinweis. Also aufzeichnen kann ich ja. habe verstanden, was du meinst, probiere es mal aus. Melde mich wieder...
AW: Range nach best. Zellinhalt definieren
21.10.2020 07:59:08
Beverly
Hi Christoph,
vielleicht so:
Dim rngZelle As Range
With Worksheets("Allgemein")
Set rngZelle = .Columns(1).Find("DtcBuffer", lookat:=xlPart)
If Not rngZelle Is Nothing Then
rngZelle.Offset(0, 1).TextToColumns Destination:=Range("B127"), DataType:=xlFixedWidth _
, FieldInfo:=Array(Array(0, 1), Array(5, 1), Array(11, 1), Array(17, 1), _
Array(23, 1), Array(29, 1), Array(35, 1), Array(41, 1), Array(47, 1), _
Array(53, 1), Array(59, 1), Array(65, 1), Array(71, 1), Array(77, 1), _
Array(83, 1), Array(89, 1), Array(95, 1), Array(101, 1), Array(107, 1), _
Array(113, 1), Array(119, 1), Array(125, 1), Array(131, 1), Array(137, 1), _
Array(143, 1), Array(149, 1), Array(155, 1), Array(161, 1), Array(167, 1), _
Array(173, 1), Array(179, 1), Array(185, 1), Array(191, 1), Array(197, 1), _
Array(203, 1), Array(209, 1), Array(215, 1), Array(221, 1), Array(227, 1), _
Array(233, 1), Array(239, 1), Array(245, 1), Array(251, 1), Array(257, 1), _
Array(263, 1), Array(269, 1), Array(275, 1), Array(281, 1), Array(287, 1), _
Array(293, 1), Array(299, 1), Array(305, 1), Array(311, 1), Array(317, 1), _
Array(323, 1), Array(329, 1), Array(335, 1), Array(341, 1), Array(347, 1), _
Array(353, 1), Array(359, 1), Array(365, 1), Array(371, 1), Array(377, 1), _
Array(383, 1), Array(389, 1), Array(395, 1), Array(401, 1), Array(407, 1), _
Array(413, 1), Array(419, 1), Array(425, 1), Array(431, 1), Array(437, 1)), _
TrailingMinusNumbers:=True
End If
End With


Anzeige
AW: Range nach best. Zellinhalt definieren
21.10.2020 08:05:05
ChrisL
Hi
Etwa so hätte ich mir das auch gedacht, aber... ;)
rngZelle.Offset(0, 1).TextToColumns Destination:=rngZelle.Offset(0, 1), DataType:=
cu
Chris
AW: Range nach best. Zellinhalt definieren
21.10.2020 09:41:58
Beverly
Hi Chris,
du hast natürlich recht, die Zielzelle darf nicht Range("B127") sondern muss rngZelle.Offset(0, 1) sein - hatte ich vergessen zu ändern.


Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige