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

Zellkoordinaten ermitteln

Zellkoordinaten ermitteln
14.01.2015 10:48:25
Rollermann
Hallo,
Ich habe mehrere Tabellen(Name: Beleg), in der ich Artikel und die entsprechenden Werte mittels einer Eingabemaske eintrage.
Dazu gibt es eine Übersicht, in einer eigenen Tabelle.
Ich suche eine Möglichkeit, in der Übersicht die entsprechende Zeile mit dem namen der aktuellen Belegtabelle zu finden und in die entsprechende Spalte dieser Zeile den Wert einzutragen.
Bsp:
Butter soll mit 2 gebucht werden
X/A/B/C/D
1:Artikel/Beleg1/Beleg2/Beleg3
2:Wurst/15/10/15
3:Brot/12/12/12
4:Butter/1/1/
Also Artikel Wurst(A2) bekam den Wert 15(D2) in Beleg 3. Nun soll Artikel Butter durch den code gesucht werden und mir die Zeile ausgeben(hier 4) und Beleg 3 gesucht werden und mir die spalte ausgeben(hier D)
dann soll über
Worksheet("Bsp").Cells(ArtZeile,BelSpalte)=2
der Wert 2 in Zelle D4 eingetragen werden.
Ich scheitere daran, dass alle codeschnipsel die ich bisher gefunden und eingebaut habe mir entweder "Butter" zurück geben (Spalte finde ich garnicht) oder sie geben eben nichts zurück.
Ich wäre für tips sehr dankbar!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellkoordinaten ermitteln
14.01.2015 10:56:20
Daniel
Hi
ArtZeile = Worksheet("Bsp").Columns(1).Find(What:="Butter", Lookat:=xlwhole).Row
BelSpalte = Worksheet("Bsp").Rows(1).Find(What:="Beleg 3", LookAt:=xlwhole).Column
Worksheet("Bsp").Cells(ArtZeile,BelSpalte)=2

oder so:
With Worksheets("Bsp")
Intersect(.Columns(1).Find(what:="Butter").EntireRow, .Rows(1).Find(What:="Beleg 3"). _
EntireColumn).Value = 2
End With
Gruß Daniel

AW: Zellkoordinaten ermitteln
14.01.2015 12:23:31
Rollermann
Ich habe es danach versucht und bekomme in der ArtZeile-Zeile den Laufzeitfehler '91' Objektvariable oder With-Blockvariable nicht festgelegt.
mein code sieht wie folgt aus:

Dim Tabellenblatt =ActiveSheet.Name as String
Dim Suche=ComboBox1.text as String
Dim ArtZeile as Range
Dim BelSpalte as Range
If Worksheets("WARENEINGANG").cells(2,256).End(xltoLeft).value = Tabellenblatt then
ArtZeile = Worksheets("WARENEINGANG").columns(2).Find(What:=Tabellenblatt, Lookat:=xlWhole).row
BelSpalte = Worksheets("WARENEINGANG").Rows(2).Find(What:=Suche, LookAt:=xlWhole).column
Else

Anzeige
AW: Zellkoordinaten ermitteln
14.01.2015 13:04:17
Rollermann
oh, der fehlerteufel!
man möge mir die If-Zeile verzeihen, das ist natürlich humbug. der fehler bleibt aber der selbe...

AW: Zellkoordinaten ermitteln
14.01.2015 11:07:33
Klaus
Hi,
die Spalte ermittelst du so:
Sub test()
Dim meineSpalte
meineSpalte = WorksheetFunction.Match("Beleg3", Rows(1), False)
MsgBox meineSpalte
End Sub
Wenn die Überschriften nicht in Zeile 1 stehen, musst du Rows(1) anpassen. Statt "Beleg3" natürlich deinen echten Suchbegriff oder eine Variable einsetzen. Achtung, keine Fehlerbehandlung: Wird der Begriff gar nicht gefunden, gibt es einen Makrofehler.
Grüße,
Klaus M.vdT.

Anzeige
AW: Zellkoordinaten ermitteln
14.01.2015 17:22:38
Rollermann
Danke vielmals!
Werde es morgen dann einbauen!

AW: Zellkoordinaten ermitteln
15.01.2015 08:54:47
Rollermann
Hallo, habe es nun versucht, Pflege ich das ganze angepasst ein, bekomme ich die Fehlermeldung "Objekt erforderlich"
Es sieht so aus:
Dim Suche as string
Dim sZeile
sZeile = WorksheetFunktion.Match(Suche,Rows(2),False)
vielleicht sollte ich noch erwähnen, dass die suche in einem anderen Arbeitsblatt durchgeführt wird.

AW: Zellkoordinaten ermitteln
15.01.2015 09:44:26
Klaus
Du musst "Suche" auch etwas zuordnen!
Und auf das Arbeitsblatt musst du natürlich referenzieren
Dim Suche as string
Dim sZeile
Suche = "Beleg3"
sZeile = WorksheetFunktion.Match(Suche,sheets("Tabelle27").Rows(2),False)
Da ich deine Datei nicht kenne, kann ich dir nur den groben Weg zeigen. Auf die freundliche Anrede und die abschließende Grußfloskel verzichte ich in diesem Beitrag, da Höflichkeit im Internet nicht mehr modern ist.

Anzeige
AW: Zellkoordinaten ermitteln
19.01.2015 11:34:56
Rollermann
Hallo Zusammen,
suche ist natürlich etwas zugeordnet. Jedoch erhalte ich immer noch den Fehler:
"Objekt erforderlich!"
Ich habe heute nochmals etwas gebastelt und im moment sieht es wie folgt aus:
Privat Sub CommandButton1_Click()
Dim Auswahl
Dim sZeileWa
Dim sZeileBu
Dim sSpalteBu
Auswahl = ComboBox1.Value 'Auswahl der ComboBox als Text übernehmen klappt
sZeileWa = ComboBox1.ListIndex + 4
'Damit ermittle ich die Zeilennummer, da der ListenIndex ja ab der Fixen Zeile 4 Befüttert wird
'Jetzt die Spalte in der anderen Tabelle finden
sSpalteBu = WorksheetFunktion.Match(Auswahl,Sheets("Buchungen").Rows(3), False)
'Hier Kommt Objekt erforderlich, obwohl "Objekt" doch mit "Auswahl" festgelegt ist
End Sub
Floskel trifft den punkt... "Der Gruß, die Begrüßungsformel, Begrüßungsfloskel, Abschiedsformel und Abschiedsfloskel, ist eine formalisierte oder ritualisierte Geste, Floskel oder ein anderes Ausdrucksmittel zum Einleiten bzw. Abschließen eines Kontaktes."
Warum soll man denn sich im Fluss eine Gesprächs ständig begrüßen und verabschieden?
Danke für die Mühen! :)

Anzeige
AW: Zellkoordinaten ermitteln
20.01.2015 07:43:01
Klaus
Dein abgebildeter Code läuft bei mir in einer Mustertabelle fehlerfrei. WENN ich aus Combobox1 eine Auswahl treffe, die sich in Zeile 3 auch wiederfinden lässt! Ansonsten gibt es natürlich einen Fehler, da die Formel ins leere gelaufen ist.
Hier nochmal dein Code mit der notwendigsten Fehlerbehandlung:
Sub Test()
Dim Auswahl
Dim sZeileWa
Dim sZeileBu
Dim sSpalteBu
Auswahl = ComboBox1.Value 'Auswahl der ComboBox als Text übernehmen klappt
If Auswahl = "" Then
MsgBox ("Auswahl erforderlich")
Exit Sub
End If
sZeileWa = ComboBox1.ListIndex + 4
'Damit ermittle ich die Zeilennummer, da der ListenIndex ja ab der Fixen Zeile 4 Befüttert wird
'Jetzt die Spalte in der anderen Tabelle finden
On Error GoTo hell
sSpalteBu = WorksheetFunction.Match(Auswahl, Sheets("Buchungen").Rows(3), False)
GoTo heaven:
hell:
MsgBox (Auswahl & " wurde in Zeile 3 nicht gefunden")
heaven:
On Error GoTo 0
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige