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

Bei Übereinstimmung Bereich als Wert einfügen

Bei Übereinstimmung Bereich als Wert einfügen
01.04.2013 10:02:06
Heinz
Schönen Ostermontag vormittag
Habe im Sheet "Wochenblatt" einen Bereich AZ4:BJ10 und das Datum in BK4:BK10
Nun möchte ich die Werte vom Bereich AZ4:BJ10 in den richtigen Sheets (Jänner bis Dezember" zum dazugehörigen Datum eingefügt haben.
Habe mit Formel
=WENNFEHLER(INDEX(Wochenblatt!$AZ$4:$BJ$10;VERGLEICH($L20;Wochenblatt!$BK$4:$BK$10;0);VERGLEICH(A$2; Wochenblatt!$AZ$3:$BJ$3;0));0) 

gearbeitet,ABER die Werte im Bereich AZ4:BJ10 ändern sich immer.
Habe eine Testdatei mit Beschreibung hochgeladen.
https://www.herber.de/bbs/user/84647.xlsm
Könnte mir dazu bitte jemand weiterhelfen?
Gruß Heinz

30
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei Übereinstimmung Bereich als Wert einfügen
01.04.2013 10:44:08
Klaus
Hi,
du schreibst:
ABER die Werte im Bereich AZ4:BJ10 ändern sich immer.
Versteh ich das Problem nicht. Wenn die Formel zu dynamisch ist, füg halt die Werte direkt per VBA ein:
Option Explicit
Sub WerteZuMonat()
Dim rDatum As Range
Dim r As Range
Dim wksMonth As Worksheet
Dim iColFirst As Integer
Dim iColLast As Integer
Dim iColTarget As Integer
Dim iColDatum As Integer
Dim lRowDat As Long
Dim bSkipNot As Boolean
iColFirst = 52  'Spalte AZ
iColLast = 62   'Spalte BJ
iColTarget = 1  'Spalte A im Monats-Blatt
iColDatum = 12  'Datums im Monatsblatt in Spalte L
With Sheets("Wochenblatt")
Set rDatum = .Range("BK4:BK10")  'Datum-s stehen hier:
For Each r In rDatum
bSkipNot = True
'Monate aus Datum-s holen und Ziel-Tabelle definieren
Select Case VBA.Month(r.Value)
Case 1
Set wksMonth = Sheets("Januar")
Case 2
Set wksMonth = Sheets("Februar")
Case 3
Set wksMonth = Sheets("März")
Case 4
Set wksMonth = Sheets("April")
Case 5
Set wksMonth = Sheets("Mai")
Case 6
Set wksMonth = Sheets("Juni")
Case 7
Set wksMonth = Sheets("Juli")
Case 8
Set wksMonth = Sheets("August")
Case 9
Set wksMonth = Sheets("September")
Case 10
Set wksMonth = Sheets("Oktober")
Case 11
Set wksMonth = Sheets("November")
Case 12
Set wksMonth = Sheets("Dezember")
Case Else
MsgBox ("Datum ungültig")
bSkipNot = False
End Select
If bSkipNot Then
'Ziel-Zeile feststellen über Datumsvergleich
wksMonth.Range("CA1").Value = r.Value
wksMonth.Range("CA2").FormulaR1C1 = "=MATCH(R[-1]C,C" & iColDatum & ")"
lRowDat = wksMonth.Range("CA2").Value
wksMonth.Range("CA1:CA2").ClearContents
'Kommentar: eigentlich wollte ich worksheetfunction.match nutzen, aber das ging
'irgendwie nicht. Darum der Umweg über eine Zelle!
'lRowDat = Application.WorksheetFunction.Match(r.Value, wksMonth.Cells(1,  _
iColTarget).EntireColumn, False)
'Werte kopieren
.Range(.Cells(r.Row, iColFirst), .Cells(r.Row, iColLast)).Copy
'Werte einfügen
wksMonth.Cells(lRowDat, iColTarget).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End If
Next r
End With
End Sub
keinerlei Fehlerbehandlung: es muss alle Blätter geben, in den Datums dürfen nur gültige Datums stehen (kein #NV oder sowas) und die gültigen Datums müssen in den entsprechenden Blättern auch vorkommen.
Grüße,
Klaus M.vdT.

Anzeige
@Klaus,....
01.04.2013 11:14:01
Matze
Hi Klaus,
würdest du mich bitte mal per Email anschreiben? (Lol kein Zwang , wenn du nicht magst)
Machtnix21@gmx.de
Betrifft dieses Thema hier im Beitrag, danke
Gruß Matthias (Matze)

@Matze, ....
01.04.2013 11:41:33
Klaus
Hi Matze,
meine panische Angst vor Spam-Robotern sollte inzwischen bekannt sein!
Worum geht es denn, was du nicht hier im Forum fragen magst? Hier antworte ich meistens innerhalb von 30 minuten, meine Mails lese ich vielleicht einmal am Tag oder seltener.
Grüße,
Klaus M.vdT.

AW: @Matze, ....
01.04.2013 11:47:19
Matze
Hi Klaus,
das wollte ich hier im Forum ja nicht schreiben.
Ich verstehe dich wenn du meine Anfrage ablehnst, das ist OK.
Spam bekommst du von meiner Seite nicht, deine Email wäre bei mir in guten Händen :-)
Allen ein schönes restliches Osterfest
Matze
shit , der Urlaub iss ja schon rum,....

Anzeige
@ Klaus, sieh mal weiter unten,...
01.04.2013 11:15:02
Matze
Hi Klaus,
..dort sind die ersten Beiträge von Heinz zur der Mappe.
Es kommt immer wieder was neues dazu, quasi eine nicht endende Version einer irgendwann mal fertigen Datenbank.
Heinz versucht alles per Formel zu lösen.
Gerade weil auch das Wochenblatt immer neu hinzu kommt, wird da hinterher keiner durchblicken, wenn nicht vorher ein gut durchdachtest Konzept des Aufbaus hat. Geschweige der Abfragen die aus dem Konstrukt entstehen soll.
Mich macht alleine der Aufbau des Wochenblattes schon wirr in der Birne(mit den verlangten wünschen)
Heinz du hättest dies ruhig im alten Thread/Beitrag weiter schreiben können.
Gruß Matze

Anzeige
AW: @ Klaus, sieh mal weiter unten,...
01.04.2013 11:52:04
Klaus
Ich hab jetzt diesen Beitrag von Heinz gefunden,
https://www.herber.de/forum/messages/1306612.html
der sagt mir dass mein VBA-Script schonmal in die richtige Richtung geht. Die "Quelle" in Wochenblatt AZ:BJ ändert sich wöchentlich, darum darf der SVERWEIS (bzw Index-Sverweis-nach-links-Trick) darauf nicht dauerhauft verweisen. Mein Script trägt die Werte einmalig ein.
Wenn es komplett VBA-Frei sein muss, würd ich das mit den im verlinkten Beitrag gezeigten Lösungen machen und halt wöchtentlich einmal "markieren, kopieren, Inhalte einfügen". (Wobei man das auch wieder auf ein Makro legen könnte).
Oder man schaut sich die Formeln in Wochenblatt AZ:BJ nochmal an. Die Zahlen die hier stehen kommen ja irgendwo her, das heisst man könnte "einfach" genau diese Formeln in die Monatsblätter übertragen und die Wochenauswertung ganz aussen vor lassen. Das wären dann knapp über 4.000 Matrixfunktionen (Summenprodukte) über 12 Blätter, damit sollte Excel noch klarkommen ohne gleich in die Knie zu gehen.
Grüße,
Klaus M.vdT.

Anzeige
Danke Klaus
01.04.2013 14:10:10
Heinz
Hallo Klaus
Dein Code dürfte soweit ich es überblicke funktionieren.
Recht herzlichen Dank.
Gruß Heinz

Anzeige
Danke für die Rückmeldung! owT.
01.04.2013 14:37:00
Klaus
.

@ HEINZ,....
01.04.2013 12:20:52
Matze
Im Wochenplan AZ4:BJ10
arbeitet die Summenproduktformel NICHT mit TEXT,
darauf hatte dich Erich G. schon angesprochen!!
Du wirst #Wert als Fehlermeldung bekommen.
Gib mal im Wochenblatt in AM6 "THM" ein,...na?
Matze

AW: @ HEINZ,....
01.04.2013 14:08:17
Heinz
Hallo Matthias
Gib mal im Wochenblatt in AM6 "THM" ein,...na?
Danke für die Aufmerksamkeit.
Werde in der Arbeit nachfragen das THM auch eine Nummer bekommt.
Klaus hat den richtigen Code für mich gefunden.
Bedanke mich noch einmal recht herzlich bei dir.
Gruß Heinz

Anzeige
AW: @ HEINZ,....
01.04.2013 14:08:29
Heinz
Hallo Matthias
Gib mal im Wochenblatt in AM6 "THM" ein,...na?
Danke für die Aufmerksamkeit.
Werde in der Arbeit nachfragen das THM auch eine Nummer bekommt.
Klaus hat den richtigen Code für mich gefunden.
Bedanke mich noch einmal recht herzlich bei dir.
Gruß Heinz

Bildschirm flackern bei Code.
01.04.2013 21:02:41
Heinz
Hallo Matthias & Klaus
Warum flackert der Bildschirm bei unteren Code ?
Gruß Heinz
Option Explicit
Sub WerteZuMonat()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim rDatum As Range
Dim r As Range
Dim wksMonth As Worksheet
Dim iColFirst As Integer
Dim iColLast As Integer
Dim iColTarget As Integer
Dim iColDatum As Integer
Dim lRowDat As Long
Dim bSkipNot As Boolean
iColFirst = 52  'Spalte AZ
iColLast = 62   'Spalte BJ
iColTarget = 1  'Spalte A im Monats-Blatt
iColDatum = 12  'Datums im Monatsblatt in Spalte L
With Sheets("Wochenblatt")
Set rDatum = .Range("BK4:BK10")  'Datum-s stehen hier:
For Each r In rDatum
bSkipNot = True
'Monate aus Datum-s holen und Ziel-Tabelle definieren
Select Case VBA.Month(r.Value)
Case 1
Set wksMonth = Sheets("Januar")
Case 2
Set wksMonth = Sheets("Februar")
Case 3
Set wksMonth = Sheets("März")
Case 4
Set wksMonth = Sheets("April")
Case 5
Set wksMonth = Sheets("Mai")
Case 6
Set wksMonth = Sheets("Juni")
Case 7
Set wksMonth = Sheets("Juli")
Case 8
Set wksMonth = Sheets("August")
Case 9
Set wksMonth = Sheets("September")
Case 10
Set wksMonth = Sheets("Oktober")
Case 11
Set wksMonth = Sheets("November")
Case 12
Set wksMonth = Sheets("Dezember")
Case Else
MsgBox ("Datum ungültig")
bSkipNot = False
End Select
If bSkipNot Then
'Ziel-Zeile feststellen über Datumsvergleich
wksMonth.Range("CA1").Value = r.Value
wksMonth.Range("CA2").FormulaR1C1 = "=MATCH(R[-1]C,C" & iColDatum & ")"
lRowDat = wksMonth.Range("CA2").Value
wksMonth.Range("CA1:CA2").ClearContents
'Kommentar: eigentlich wollte ich worksheetfunction.match nutzen, aber das ging
'irgendwie nicht. Darum der Umweg über eine Zelle!
'lRowDat = Application.WorksheetFunction.Match(r.Value, wksMonth.Cells(1, _
iColTarget).EntireColumn, False)
'Werte kopieren
.Range(.Cells(r.Row, iColFirst), .Cells(r.Row, iColLast)).Copy
'Werte einfügen
wksMonth.Cells(lRowDat, iColTarget).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End If
Next r
End With
ActiveSheet.Protect
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Bildschirm flackern bei Code.
01.04.2013 22:48:53
Matze
Option Explicit '
Sub WerteZuMonat()
Dim rDatum As Range
Dim r As Range
Dim wksMonth As Worksheet
Dim iColFirst As Integer
Dim iColLast As Integer
Dim iColTarget As Integer
Dim iColDatum As Integer
Dim lRowDat As Long
Dim bSkipNot As Boolean
iColFirst = 52  'Spalte AZ
iColLast = 62   'Spalte BJ
iColTarget = 1  'Spalte A im Monats-Blatt
iColDatum = 12  'Datums im Monatsblatt in Spalte L
With Sheets("Wochenblatt")
Application.ScreenUpdating = False
Set rDatum = .Range("BK4:BK10")  'Datum-s stehen hier:
For Each r In rDatum
bSkipNot = True
'Monate aus Datum-s holen und Ziel-Tabelle definieren
Select Case VBA.Month(r.Value)
Case 1
Set wksMonth = Sheets("Januar")
Case 2
Set wksMonth = Sheets("Februar")
Case 3
Set wksMonth = Sheets("März")
Case 4
Set wksMonth = Sheets("April")
Case 5
Set wksMonth = Sheets("Mai")
Case 6
Set wksMonth = Sheets("Juni")
Case 7
Set wksMonth = Sheets("Juli")
Case 8
Set wksMonth = Sheets("August")
Case 9
Set wksMonth = Sheets("September")
Case 10
Set wksMonth = Sheets("Oktober")
Case 11
Set wksMonth = Sheets("November")
Case 12
Set wksMonth = Sheets("Dezember")
Case Else
MsgBox ("Datum ungültig")
bSkipNot = False
End Select
If bSkipNot Then
Application.ScreenUpdating = False
wksMonth.Unprotect
'Ziel-Zeile feststellen über Datumsvergleich
wksMonth.Range("CA1").Value = r.Value
wksMonth.Range("CA2").FormulaR1C1 = "=MATCH(R[-1]C,C" & iColDatum & ")"
lRowDat = wksMonth.Range("CA2").Value
wksMonth.Range("CA1:CA2").ClearContents
'Kommentar: eigentlich wollte ich worksheetfunction.match nutzen, aber das ging
'irgendwie nicht. Darum der Umweg über eine Zelle!
'lRowDat = Application.WorksheetFunction.Match(r.Value, wksMonth.Cells(1, _
iColTarget).EntireColumn, False)
'Werte kopieren
.Range(.Cells(r.Row, iColFirst), .Cells(r.Row, iColLast)).Copy
'Werte einfügen
wksMonth.Cells(lRowDat, iColTarget).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End If
Next r
End With
Application.ScreenUpdating = True
ActiveSheet.Protect
End Sub

Anzeige
AW: Bildschirm flackern bei Code.
02.04.2013 01:07:38
Heinz
Hallo Matthias
Option Explicit '

Habe ich nicht vergessen am Anfang zu schreiben.
Wahrscheinlich liegt es an den Code in den einzelnen Sheets.
Aber ich kann damit Leben.
Nochmals recht herzlichen DANK für deine großartige Hilfe.
Gruß Heinz

AW: Bildschirm flackern bei Code.
02.04.2013 08:11:33
Klaus
Hallo Heinz,
das flackern kommt daher, dass "copy&paste" Operationen während des Codes ausgeführt werden. Excel will dann immer den Rahmen und die Ameisen zeigen.
application.screenupdating =False sollte das eigentlich verhindern. Hast du aber schon drin. Ein Versuch währ noch wert (ungetestet!):
Such dir mal diesen Codefetzen:

'Werte kopieren
.Range(.Cells(r.Row, iColFirst), .Cells(r.Row, iColLast)).Copy
'Werte einfügen
wksMonth.Cells(lRowDat, iColTarget).PasteSpecial xlPasteValues
Application.CutCopyMode = False

und kommentiere ihn weg oder lösche ihn, stattdessen kommt diese Zeile:
wksMonth.Range(wksmonth.Cells(lRowDat, iColTarget), wksmonth.cells(lrowdat, icollast -icolfirst) _
).value =
.Range(.Cells(r.Row, iColFirst), .Cells(r.Row, iColLast)).value

(Zeilenumbruch rausnehmen!)
Damit wird der flackernde "copy" befehl umgangen, stattdessen werden die Werte direkt in die Zellen geschrieben.
Vielleicht hilft das?
Grüße,
Klaus M.vdT.

Anzeige
Wenn D6 ist leer dann kopieren
02.04.2013 10:30:55
Heinz
Hallo Matthias & Klaus
Noch eine Hilfe Bitte
Ab und zu kommt es vor,das Werte im Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt")nicht in D6 sondern in C6 stehen.
Nun möchte ich,wenn D6 = "" dann Werte von C6 in D6 kopieren.
Untere Code von mir läuft nicht so wie gewollt.
Gruß Heinz
If Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D6") = "" Then
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("C6").Copy
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D6").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

kleine Kritik,..
02.04.2013 10:48:45
Matze
Heinz,
dein Objekt ist und das habe ich dir auch schon mal geschrieben, irgendwie doppelt und dreifach aufgebaut. Du erweiterst die Aufgaben immer Schrittweise, vorangegangener Code wird wieder umgebaut, usw.. Das nervt ein wenig.
Was soll das denn sein was jetzt in C6 steht(etwa der alte Istbestand)
Ich hatte dir auch geschrieben das ich dies komplett anders aufbauen würde, das geht aber nur,
wenn du uns endlich mal schildern würdest was genau dein Ziel dieses Objektes ist.
Matze

AW: kleine Kritik,..
02.04.2013 11:01:33
Heinz
Hallo Matthias
kleine Kritik,..

Das kann ich gut verstehen!!
Ich bekomme unteren Wochenplan von unseren Büro zugesendet.Da kann es passieren das diese gewisse Zellen verbinden.(Leider) Siehe C21
Nun hebe ich die verbundenen Zellen auf.Dann sollte der Wert von C21 in D21 kopiert werden.
Wenn du uns endlich mal schildern würdest was genau dein Ziel dieses Objektes ist.

Ich sollte soweit wie möglich automatisch den Bedarf der benötigten Paletten berechnen & die defekt gelieferten Paletten in Stückzahl & Prozent berechnen.
Danke Heinz
https://www.herber.de/bbs/user/84671.xlsx

AW: Wenn D6 ist leer dann kopieren
02.04.2013 10:56:13
Klaus
Hi,
erstmal schließe ich mich Matze an: du kommentierst die bisherige Lösung kaum und stellst innerhalb des Threads eine völlig offtopic Frage ohne jeden Kontext. Das nervt ein bisschen.
If Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D6") = "" Then
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("C6").Copy
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D6").PasteSpecial Paste:=xlValues,  _
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

müsste so funktionieren! Ein EndIf fehlt ... aber ich gehe davon aus, in deinem Code hast du eins.
Die Referenzierungen sind völlig übertrieben. Oder führst du den Code aus einem anderen Blatt aus?
Was genau steht in D6 wenn es leer ist? Ist die Zelle leer, steht dort "" als Formelergebniss, oder ist in der Zelle vielleicht eine weiße Null auf weißem Hintergrund? Oder ein Leerzeichen?
Wenn die Zelle tatsächlich leer ist, sollte folgender Code mit weniger referenzierung das gleiche erreichen wie dein Copy-Befehl:
with sheets("Wochenblatt")
if .range("D6").value = "" then
.range("D6").value = .Range("C6").value
end if
end with
Grüße,
Klaus M.vdT.

@Klaus,..
02.04.2013 11:14:13
Matze
es wäre Sinnvoll Heinz würde uns mal die "komplette" Objektgestalltung verraten.
zB.:
Was habe ich:
- Palettentypen
- Linien wo die Palettentypen produziert werden
- Pro Linie "mehrfache" Typfertigung? oder nur Einzelfertigung
- Tabelle mit IStbestand
Was möchte ich:
- abfragen, Typenfertigung pro Tag
- Auswertungen pro Woche jedes Typen/Linie
- Jahers Monatsziele
- usw.....
..mein Urlaub ist um und habe leider nicht mehr die Zeit wie die letzten 2 sibirischen Wochen.
Klaus wünsche dir frohes gelingen bei der Umsetzung, würde mich gerne für jeden weiteren Fortschritt
dieser Aufgabe interessieren, deshalb wäre es mir lieb das du dies eventuel an mich per Email tun könntest. du findest die bestimmt wieder(grins)
LG Matze

@Matze,..
02.04.2013 12:00:57
Klaus
Hi Matze,
ich halte nicht so viel von Komplettlösungen. Solange Heinz seine Fragen in Stücke zerlegen kann, sie hier fragt und ich darauf antworten kann, ist für mich alles in Ordnung - dafür ist das Forum ja da.
..mein Urlaub ist um und habe leider nicht mehr die Zeit wie die letzten 2 sibirischen Wochen.
Komisch, geht mir genau anders herum. In meinem Urlaub hab ich genau 0-mal ins Herberforum geschaut und genau 0 Excelformeln/Makros erstellt ... das heisst ja nicht ohne Grund Urlaub :-)
deshalb wäre es mir lieb das du dies eventuel an mich per Email tun könntest
Ich hab dich ja auch lieb und find es schön dass du so häufig mit mir flirtest, aber ich bin glücklich verheiratet. Wir können natürlich mal unverbindlich einen Kaffee trinken gehen.
Oh, achso, der Dateifortschritt: währ es da nicht sinnvoller, wenn Heinz dich auf dem laufenden hält?
Grüße,
Klaus M.vdT.

Letzte Frage Versprochen
02.04.2013 12:14:15
Heinz
Hallo Klaus & Matthias
Ja es ist nicht leicht mit mir (sagt auch meine Frau)
Diese Datei wäre am Anfang auch nicht so aufwendig gewessen,aber meine Kollegen wollen immer mehr (wie Parasiten)
Nun meine Allerletzte Frage & Bitte
Nun kann es vorkommen das Zb.in D6 "601Hell" steht.
Ich bräuchte bitte einen Code, der mir den Text löscht und nur die drei Werte links stehen lässt.
Dann habt ihr endlich Ruhe von mir "Grosses Ehrenwort"
Danke für Eure Hilfe
Heinz
With Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt")
If Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D6").Value = "" Then
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D6").Value = .Range("C6").Value
End If
End With

AW: Letzte Frage Versprochen
02.04.2013 12:24:39
Heinz
Kleine Korrektur
Ich bräuchte bitte einen Code, der mir den Text löscht und nur die drei Werte links stehen lässt.

Es sollten immer LINKS die drei Werte egal ob Zahl oder Text stehen gelassen werden.
Grund: Es kann auch "THM" stehen,und dieser sollte stehen gelassen werden.
Danke Heinz

AW: Letzte Frage Versprochen
02.04.2013 12:30:39
Klaus
Hallo Heinz,
Ja es ist nicht leicht mit mir (sagt auch meine Frau)
Mein alter Herr hat immer gesagt: "Junge, heirate und du lachst dich kaputt".
Diese Datei wäre am Anfang auch nicht so aufwendig gewessen,aber meine Kollegen wollen immer mehr (wie Parasiten)
das einzige was schlimmer ist als Kollegen sind in diesem Fall Abteilungsleiter! Mein persöhnlicher Hass-Satz: "Die Tabelle ist ganz gut, aber ich brauche das ganze vorstandsgerecht auf einer Seite in Powerpoint".
Nun meine Allerletzte Frage & Bitte
Glaube ich dir nicht, da meine Antwort eine weiter Frage generieren wird!
Nun kann es vorkommen das Zb.in D6 "601Hell" steht.
Ich bräuchte bitte einen Code, der mir den Text löscht und nur die drei Werte links stehen lässt.

Das ist ganz einfach:
if Range("D6").value = "601Hell" then Range("D6").value = "601"
Damit ist deine Frage komplett beantwortet. Hilft dir aber nicht, oder?
Dann habt ihr endlich Ruhe von mir "Grosses Ehrenwort"
Ich kann jetzt nicht für Matze reden, aber mich musst du nicht in Ruhe lassen. Wenn ich keine Lust auf nervige Excelfragen habe, muss ich ja nicht "www.herber.de" in meinen Browser tippen. Nur tatsächlich habe ich hier mehr Spass als im Pokemon-Forum.
Was aber toll wär: Rückmeldungen auf vorherige Probleme und detaillierte Beschreibungen des Teilproblems. Ich geb mal zwei Beispiele:
1) hey, das .value statt .copy hat das Bildschirmflackern beendet, danke sehr! (hat es?)
2) Die Kollegen geben gerne zuviel Informationen ein, zB "601Hell" statt "601". Wie kann ich den Wert einer Zelle auf die drei Buchstaben von links reduzieren?
(die Antwort auf 2: ist)
Range("D6").Value = VBA.Left(Range("D6").Value, 3)
Grüße,
Klaus M.vdT.
Das IF-Konstrukt unter deinem Gruß war ein versehen, oder?

AW: Letzte Frage Versprochen
02.04.2013 13:52:00
Heinz
Hallo Klaus
Irgendwie funkt.es nicht so richtig.
With Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt")
If Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D11").Value = "" Then
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D11").Value = .Range("C11").Value
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D11").Value = VBA.Left(Range("D11"). _
Value, 3)
End If
End With
Gruß Heinz

AW: Letzte Frage Versprochen
02.04.2013 15:25:33
Klaus
Hallo Heinz,
wenn du so exakt referenzieren willst/musst, dann auch vollständig und bitteschön vor JEDEM Range!
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D11").Value = VBA.Left(Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt")Range("D11").Value, 3)
Meinen Kommentar dazu habe ich schon weiter oben gegeben, das wird nur unübersichtlich. Ich werde dir hier jetzt auch keine Nachhilfe geben, wie ein WIDTH -Rahmen funktioniert.
Grüße,
Klaus M.vdT.

AW: Letzte Frage Versprochen
02.04.2013 20:56:19
Heinz
Hallo Klaus
Danke für deine Großartige unterstützung.
Bin nun soweit fertig.
Können den Thread nun schliessen.
Danke & gruß Heinz

Danke für die Rückmeldung! owT.
03.04.2013 07:33:46
Klaus
.

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige