VBA: Trouver le numéro de ligne en recherchant une valeur définie par l'user (date)

J'essaie d'utiliser VBA pour searchr la valeur de la ligne qui correspond à une date définie par l'user sur une de mes feuilles de travail afin que je puisse modifier toutes datatables sur cette ligne.

Comme un peu de context:

J'ai plusieurs séries de séries temporelles qui ont toutes des dates de début et de fin différentes avec une bonne partie du chevauchement au milieu. Je veux les tracer à l'aide de parameters de date définis par l'user, cependant, en raison de dates de début non uniforms, le graphique est impossible à redresser dynamicment.

J'espérais utiliser une macro pour cloner datatables sur une feuille, écraser la ligne de valeurs qui correspond à la date de début définie par l'user, puis calculer les valeurs de return en fonction des numbers de variation en pourcentage (j'ai déjà dans une feuille différente).

Si je peux dynamicment la ligne qui correspond à la date de début UD de la plage de dates, je peux la replace par un seul et tous mes calculs seront réinitialisés.

Toute rétroaction serait géniale!

MODIFIER

Lucas,

J'ai deux problèmes; Tout d'abord, ce que j'ai habillé inexpérimenté ne fonctionne pas lorsque je protège les feuilles (pas insurmontable); Deuxièmement, cela ne fonctionne pas :). Voici mon travail:

Sub Rebase() Dim UDStartVal Dim UDStartLoc As Range Dim UDRow As Integer ' ' Rebase Macro ' A macro to rebase the chart to the user defined start date. ' ' Sheets("Cumulative Monthly Returns").Select Cells.Select Selection.Copy Sheets("Chart Numbers").Select Range("A1").Select ActiveSheet.Paste ' Lookup to change the value of the cells corresponding to the user defined start date to 0, effectivley rebasing the portfolo. Worksheets("Cumulative Period Returns").Activate UDStartVal = Cells(4, 2).Value Set UDStartLoc = Range("A:A").SpecialCells(xlCellTypeVisible).Find(UDStartVal) Set UDRow = UDStartLoc.Row Stop End Sub 

Voici un code que j'utilise pour find la ligne d'une input basée sur des numbers de devis sur une feuille qui se recharge et re-filtré constamment.

 Private Sub FindQuote(partNum as Ssortingng) Dim quoteRow as Range Set quoteRow = Range("A:A").SpecialCells(xlCellTypeVisible).Find(partNum) 

alors quand je veux faire quelque chose qui utilise la gamme de cette ligne, j'utilise quoteRow.Row

 If Not quoteRow Is Nothing Then quoteNum = Cells(quoteRow.Row, "P").Value Cells(quoteRow.Row, "Q").Value = "Found" Else MsgBox "No quote was found" End If End Sub 

Avez-vous besoin d'aide pour la partie où vous avez clone votre feuille?