Zelle suchen und wert aus anderem blatt addieren
#1
ich probiere nu schon ne weile und durchforste das inet nach lösungen, aber bekomme mein makro nicht debugged. vielleicht wisst ihr ja weiter?

folgendes Problem: ich hab in einem blatt in zelle C5 einen wert stehen. dann möchte ich nach einem wort aus zelle B5 in der anderen Tabelle suchen und den wert aus c5 zu der zelle addieren, die 5 spalten neben dem gefundenen wort ist.
bisher hab ich folgendes:

Code:
Dim rng As Range
Dim Add
Add = Sheets("Eingang").Cells(5, 3).Value

        With Sheets("Bestand").Columns(3)
           Set rng = .Find(What:=Sheets("Eingang").Cells(5, 2), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, 
                      SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
           If Not rng Is Nothing Then
             With ActiveCell
               Range(.Offset(0, 1), .Offset(0, 5)).Value = .Value + Add
             End With
           MsgBox "Menge addiert!"
           Else: MsgBox "Artikel nicht gefunden"
       End With

wäre dankbar für jede Idee ;)
Top
#2
Code:
With Sheets("Bestand").Columns(3)
           Set rng = .Find(What:=Sheets("Eingang").Cells(5, 2), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows,
                       SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
           If Not rng Is Nothing Then
             With rng
             Range(.Offset(0, 1), .Offset(0, 5)).Value = .Value + Add
             End With
           
           MsgBox "Menge addiert!"
           Else: MsgBox "Artikel nicht gefunden"
           End If
           
End With
bin schon etwas weiter gekommen. leider fügt er nu den inhalt der gefundenen zelle in die folgenden 4 spalten ein :D stimmt also vorn und hinten nicht. er soll nur den Inhalt von der zelle C5 aus blatt "eingang" in die Spalte H von Blatt "Bestand" der gefunden Zeile addieren. 

langsam verzweifelt ^^
Top
#3
Hi,

(24.03.2017, 12:45)Safety-Tussi schrieb: bin schon etwas weiter gekommen. leider fügt er nu den inhalt der gefundenen zelle in die folgenden 4 spalten ein :D stimmt also vorn und hinten nicht. er soll nur den Inhalt von der zelle C5 aus blatt "eingang" in die Spalte H von Blatt "Bestand" der gefunden Zeile addieren. 

falls ich Dich richtig verstanden habe, willst Du in Sheets("Bestand").Columns(3) den Wert der Zelle 5 Spalten nach rechts + Add eintragen.
Dann solltest Du vermutlich in dieser Zeile die Teile vor und nach = vertauschen:
            Range(.Offset(0, 1), .Offset(0, 5)).Value = .Value + Add


Mit der obigen Formel schreibst Du nämlich in die Offset-Spalte den Wert von "Sheets("Bestand").Columns(3) + Add".

Also so:
.Value = Range(.Offset(0, 1), .Offset(0, 5)).Value + Add

Du schreibst damit in die Spalte Sheets("Bestand").Columns(3) den Wert von der Zelle 5 Spalten rechts und addierst das Add.
Top
#4
Hallo,

teste mal so:


PHP-Code:
Rng.Offset(05).Value Rng.Offset(05).Value Add 
Gruß Atilla
Top
#5
öm ^^ ne, nich so ganz. mal zur Darstellung.... bei mir sieht das ganze etwa so aus: 


Blatt "Eingang"

           [A]                             [B]                                                                                                       "C"
[5]     März             "Bodenmakierunsband-PVC Klebeband 50mmX3M  Schwarz/ Gelb"                               5



Blatt "Bestand"

           [C]                                                                                            .....             [H]
[?] "Bodenmakierunsband-PVC Klebeband 50mmX3M  Schwarz/ Gelb"                           22


Ich möchte also, dass der Artikel vom Eingang spalte B im anderen blatt in spalte c gesucht und anschließend die 5 zu den 22 dazu addiert wird.
Top
#6
Hallo,

Wem galt jetzt dieses "öm..."
Gruß Atilla
Top
#7
(24.03.2017, 13:56)atilla schrieb: Hallo,

Wem galt jetzt dieses "öm..."

dieses "öm" war ein versuch mein Gehirn anzustrengen zu verstehen was du sagst ^^ bin laie in Sachen vba

ich hab die variante versucht, aber genau die zeile wird beim debuggen angekreidet.

danke trotzdem ;)
Top
#8
Hallo,

du nimmst statt:


Code:
             With rng
             Range(.Offset(0, 1), .Offset(0, 5)).Value = .Value + Add
             End With


nur die eine von mir eingestellte Zeile.

Bei mir geht das.

Wenn bei Dir nicht, dann stell bitte den aktuell geänderten und benutzten Code ein.
Gruß Atilla
Top
#9
(24.03.2017, 14:52)atilla schrieb: Hallo,

du nimmst statt:


Code:
             With rng
             Range(.Offset(0, 1), .Offset(0, 5)).Value = .Value + Add
             End With


nur die eine von mir eingestellte Zeile.

jahaa ^^ super, klasse ;) es klappt. vielen dank  Heart  so krieg ich dann auch die anderen makros hin ^^ danke danke
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste