Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bereich markieren in Abhängigkeit von Fundstelle

Bereich markieren in Abhängigkeit von Fundstelle
26.03.2008 12:16:10
Fundstelle
Hallo zusammen,
ich hab da schon wieder ein Problemchen. ;-)
Folgendes (rudimentäres und nicht funktionierendes) Makro habe ich bisher:

Sub Makro1()
On Error Resume Next
Dim month_v As Integer, month_n As String
month_v = Worksheets("Balance actual").Range("AB4").Value
If month_v = 1 Then month_n = "Jan" Else
If month_v = 2 Then month_n = "Feb" Else
If month_v = 3 Then month_n = "Mar" Else
If month_v = 4 Then month_n = "Apr" Else
If month_v = 5 Then month_n = "May" Else
If month_v = 6 Then month_n = "Jun" Else
If month_v = 7 Then month_n = "Jul" Else
If month_v = 8 Then month_n = "Aug" Else
If month_v = 9 Then month_n = "Sep" Else
If month_v = 10 Then month_n = "Oct" Else
If month_v = 11 Then month_n = "Nov" Else
If month_v = 12 Then month_n = "Dec"
Rows("5:5").Find(What:=month_n, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Range("G9:G81").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H9").Select
Application.CutCopyMode = False
End Sub


Zur Erläuterung:
Ich habe eine Tabelle mit Spaltenüberschriften "Jan", "Feb" ... "Dec".
Nun soll in der Zeile mit den Monatsnamen ein bestimmter gesucht werden und anschließend der Bereich darunter bis zu einer bestimmten Stelle markiert werden.
Im Prinzip ist das der Bereich "G9:G81" aus meinem Makro, der dynamisch hinsichtlich der Spalte werden soll. Ich weiß jetzt nicht, wie ich den Fund des Suchbegriffs bezüglich der Spalte auswerten muss, damit ich die Range dann übergeben kann.
Für euch alte Hasen ist das doch sicher ein Klacks.
Ich wäre sehr dankbar, wenn sich jemand dessen annehmen könnte.
Gruß
David
PS: Falls jemand für die Monatsabfrage eine elegantere Lösung weiß als mein "If-Then"-Konstrukt, kann er die natürlich auch gern zum Besten geben.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich markieren in Abhängigkeit von Fundstelle
26.03.2008 12:41:00
Fundstelle
Hi
grundsätzlich mal:
das "On Error Resums Next" gehört da so nicht hin.
sowas vertuscht nur Programmierfehler, erzeugt u.U. falsche Ergebnisse und erschwert im Falle eines Fehlers die Fehlersuche, weil man nicht genau eingrenzen kann, wo der Fehler passiert.
zum Monatsproblem:
verwende doch eine Feld-Variable:

Dim month_n(12) as string
month_n(1) = "Jan"
month_n(2) = "Feb"
usw...


in der Suchfunktion sieht das dann so aus:


Rows("5:5").Find(What:=month_n(month_v), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate


zum selections-Problem:
so sollte es funktionieren:


Activecell.Offset(4,0).resize(73,1).select


allerdings wäre es besser, die ganze Aktion ohne SELECT auszuführen und die Zellen direkt anzusprechen:
CopyPaste ist für diese Aktion auch nicht erforderlich:


Sub Makro1()
dim Spalte as long
Dim month_v As Integer,
dim month_n(12)  As String
month_v = Worksheets("Balance actual").Range("AB4").Value
month_n(1) ="Jan"
month_n(2) ="Feb"
'... usw. bitte ergänzen
Spalte = Rows("5:5").Find(What:=month_n(month_v), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Column
with range(cells(9, spalte), cells(81, spalte)
.formula = .value
end with
Range("H9").Select
End Sub


Gruß, Daniel

Anzeige
AW: Bereich markieren in Abhängigkeit von Fundstelle
26.03.2008 13:13:50
Fundstelle
In der Zeile

Spalte = Rows("5:5").Find(What:=month_n(month_v), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Column


kommt ein Laufzeitfehler 13 = Typen unverträglich.
Hast du eine Idee, warum?

AW: Bereich markieren in Abhängigkeit von Fundstelle
26.03.2008 13:43:16
Fundstelle
Hi
ohne Beispieldatei und vollständigen Code nein.
vielleicht laß mal den Parameter: After:=ActiveCell weg.
oder Prüf mal, ob die Monatsnamen wirklich mit denen in der Tabelle übereinstimmen
Gruß, Daniel

Anzeige
AW: Bereich markieren in Abhängigkeit von Fundstelle
26.03.2008 13:50:40
Fundstelle

laß mal den Parameter: After:=ActiveCell weg.


das war's! Das war sicher noch aus meiner Recorder-Aufzeichnung drin. Die Vermutung mit den Namen hatte ich erst auch, aber auch die Formatierung als reinen Text hatte nichts gebracht.
Nun funzt es, vielen Dank.
Da sind einige Zeilen drin, die mir sicher auch in anderen Makro eine große Hilfe sein werden...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige