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

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

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
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...
Anzeige
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.


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige